我在申请表上工作,并且有一个带密码字段的注册表。
我的基本要求是强制用户在密码字段中插入至少一个字母字符以使密码可以接受。
请给我一个建议,我该怎么做?
谢谢。
答案 0 :(得分:1)
我认为您需要检查密码字符串是否包含至少一封字母1234
不可接受,但a123
是可接受的。
你可以这样做
public boolean containsLetter(String s) {
if ( s == null)
return false;
for (int i = 0; i < s.length(); i++){
if(CharacterUtilities.isLetter(s.charAt(i)))
return true;
}
return false;
}
答案 1 :(得分:0)
如果字段不包含密码字符,则强制使该字段成为焦点,这不是理想的功能。如果想要对用户名字段进行更正,但是无法切换到它,因为密码字段为空。而是禁用提交按钮,直到密码字段满足至少一个字符为止。
使用伪代码:
if(field.contents.string.length < 1)
{
confirmButton.enabled = false;
}
else
{
confirmationButton.enabled = true;
}
答案 2 :(得分:0)
使用onChange方法为密码textfield,比在这个方法中检查密码文本字段的长度,不要使用trim,因为用户可能需要空格。
<field object>.getText().lenght != 0 -> Enable submit button.
或者在提交时检查密码字段文本是否大于或等于您的最小限制。
protected boolean navigationClick(int status, int time)
{
Field f1 = getFieldWithFocus().getLeafFieldWithFocus();
if(f1 == btn_login)
{
if(txtField_userName.getText().trim().equals("") || txtField_password.getText().trim().equals(""))
{
String str[] = new String[]{"OK"};
ButtonPopup.ask("Email or password can not left blank !", str);
}
else
{
<Do your work here>
}
}
return super.navigationClick(status, time);
}