السلام عليكم ورحمة الله وبركاته
لدي مدخلات تتكون من ثلاثه وهم كالتالي
اسم اول اسم ثاني ورقم السري
هذة الصورة للتوضيح فقط
وكتب كود وطريقة كتابتي جداُ معقده وبالاضافه لم يتحقق الملطوب بكل سلاسه
بحث كثيراً كثيراُ بالمحرك البحث لكن لم اجد مااريده وقرأت ان مثل هذة الامور تقوم بها بعض الادوات الخاصه بهذة الموضوع" التحقق" ,,
الاسم الاول يحتوي على حروف فقط ولايقبل اي قيم عدديه ولا قيمة فارغه وان يكون اقل من 5
وكذالك الاسم الثاني
واخيراُ الرقم السري ان يكون مساوي لل 8 او اقل لا مشكلة في ذالك
الامر الصعب الي واجهتة اني لا استطيع كتابة كود متناغم مع بعض وبشكل سلس
مع الرغم اني قمته بتطبيقة بمثال صغير ونجح ولكن عندما اريد تطبيقة بالمشروع الفعلي لم ينجح الامر كما اريد .. الموضوع معقد بالنسبة لي والمشكلة ان امر التحقق من المدخلات من الاساسيات التي يجب مراعاتها ولا استطيع ان اتغاضى عنها واقدمها بطريقة غير جيده ,,
سأرفق المثال الذي قمت بعملة
والكودالاصلي الذي به المشكلة المشكلة هي قبول القيم العددية في حقل الاسم
AdminCombobox = !buttonGroup1.isSelected(Admin_RadioButton.getModel());
SWCombobox = !buttonGroup1.isSelected(Social_RadioButton.getModel());
System.out.print(!buttonGroup1.isSelected(Admin_RadioButton.getModel()));
studentId = userID_Field.getText();
studentFirst = firstNameUser_TextField.getText();
studentLast = lasttNameUser_TextField.getText();
studentPass = password_Field1.getText();
if ( studentFirst.isEmpty() || studentLast.isEmpty() || studentPass.isEmpty()
|| AdminCombobox || SWCombobox) {//work fine
if (studentFirst.isEmpty()) {//work fine
JOptionPane.showMessageDialog(this, "First name field is empty!!", "ERROR", JOptionPane.ERROR_MESSAGE);
firstNameUser_TextField.setText("");
}
if (studentLast.isEmpty()) {//work fine
JOptionPane.showMessageDialog(this, "Last name field is empty!!", "ERROR", JOptionPane.ERROR_MESSAGE);
lasttNameUser_TextField.setText("");
}
if (studentPass.isEmpty()) {//work fine
JOptionPane.showMessageDialog(this, "Password field is empty!!", "ERROR", JOptionPane.ERROR_MESSAGE);
password_Field1.setText("");
}
if ((AdminCombobox) && (SWCombobox)) {//work fine
JOptionPane.showMessageDialog(this, "you did not choses a type of user!!", "ERROR", JOptionPane.ERROR_MESSAGE);
}
if (studentPass.length() != 8 && !studentPass.isEmpty()) {
JOptionPane.showMessageDialog(this, "length of password is not correct it must to be 8 digits or characters !!", "ERROR", JOptionPane.ERROR_MESSAGE);
userID_Field.setText("");
}
else{if (studentPass.length() == 8){
if (!containsOnlyNumbers(studentFirst)&&!containsOnlyNumbers(studentLast))//error
//addUser();//to add new user
JOptionPane.showMessageDialog(this, "length is 8 and correct character for name OK !!", "ERROR", JOptionPane.ERROR_MESSAGE);
}else{
JOptionPane.showMessageDialog(this, "First name or last name is must to be character!!", "ERROR", JOptionPane.ERROR_MESSAGE);
userID_Field.setText("");
}
} }
// addUser();
} public boolean containsOnlyNumbers(String str) {
//It can't contain only numbers if it's null or empty...
for (int i = 0; i < str.length(); i++) {
//If we find a non-digit character we return false.
if (!Character.isDigit(str.charAt(i)))
return false;
}
return true;
}ملاحظة ال UserID ليس لها دخل بالموضوع التحقق سأجعلها مزوده من النظام من نفسه ..



