#java #netbeans
#java #netbeans
Вопрос:
В настоящее время я пытаюсь выполнить проверку формы входа персонала. но я понял в своем выводе проверки, что всякий раз, когда я ввожу значение в текстовое поле username, все равно появляется сообщение «пожалуйста, введите свое имя пользователя», а затем окно сообщения «недопустимые учетные данные». Вот мой код ниже :
String username = usernameTxt.getText();
String password = passwordTxt.getText();
if (username.contains(""))
{
JOptionPane.showMessageDialog(null,"Please Enter Your Username Credentials.");
}
else if (password.contains (""))
{
JOptionPane.showMessageDialog(null,"Please Enter Your Password Credentials.");
}
else if (password.contains ("") amp;amp; (username.contains("")))
{
JOptionPane.showMessageDialog(null,"Please Enter Your Login Credentials.");
}
if ((username.contains("staff") amp;amp; password.contains ("pass")))
{
JOptionPane.showMessageDialog(null,"Login Successfull","Success",JOptionPane.INFORMATION_MESSAGE);
passwordTxt.setText(null);
usernameTxt.setText(null);
staffdashboard sd = new staffdashboard();
sd.setVisible(true);
this.setVisible(false);
}
else
{
JOptionPane.showMessageDialog(null,"Invalid Login Details","Login Error",JOptionPane.ERROR_MESSAGE);
passwordTxt.setText(null);
usernameTxt.setText(null);
}
введите окно сообщения пользователя
окно сообщения с недопустимыми данными для входа
Что я упускаю и как остановить форму для вывода 2 сообщений одновременно?
Комментарии:
1. Любая строка содержит пустую строку. Я думаю, вы хотели использовать username.equals(«»)
2. Строка всегда будет содержать «». Вы, вероятно, хотите
password.isEmpty()
Ответ №1:
Проблема заключается в первом операторе if: username.contains("")
Каждая строка содержит пустую строку. Вы должны заменить его на if("".equals(username))
Или используйте StringUtils.isBlank(username);
И то же самое для всех contains("")
Комментарии:
1. просто для подтверждения, должен ли я сделать это для else if (password.contains («»)) также или обычно только для первой строки кода?
2. точно! Вы должны заменить все свои contains(«»)
Ответ №2:
ответ @Naya правильный, однако вы можете захотеть удалить все пустые пробелы, предполагая, что они не разрешены в качестве допустимых входных данных, поэтому :
if (username.trim().equals("")) ...
else if (password.trim.equals("")) ...
...