我有两个EditTexts,我正在对它们应用验证。如果验证失败,我想一次显示所有错误消息。我一次只收到一条错误消息,该消息固定在底部EditText
字段中。如何一次显示所有EditText
错误消息?
我使用以下代码:
if(uname.matches(""))
username.setError("Email is required");
if(pwd.matches(""))
password.setError("Password is required");
答案 0 :(得分:0)
你必须在else条件下设置错误(null)。
if(uname.matches(""))
username.setError("Email is required");
else
username.setError(null);
if(pwd.matches(""))
password.setError("Password is required");
else
password.setError(null);
答案 1 :(得分:0)
使用setError
的最佳方法是在字段上以相反的顺序调用它,以便最后一次调用是表单中最顶部的字段。这样,所有无效字段都将突出显示,但只有最上面的字段会提示用户错误消息提示框。 setError
机制旨在一次仅显示一个气球重叠。
答案 2 :(得分:0)
这将为您提供帮助
if (TextUtils.isEmpty(username.getText().toString())) {
username.setError("ABC");
}
else(TextUtils.isEmpty(password.getText().toString())) {
password.setError("ABC");
}