0

我正在处理一个应用程序,并且有一个带有密码字段的注册表单。

我的基本要求是强制用户在密码字段中插入至少一个字母字符以使密码可接受。

请给我一个建议,我该怎么做?

谢谢你。

4

3 回答 3

1

我认为您需要检查密码字符串是否包含至少一个字母 Like1234是不可接受的,但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;
}
于 2012-08-11T02:10:32.937 回答
0

当字段不包含密码字符时,强制使字段成为焦点不是可取的功能。如果想更正用户名字段,但由于密码字段为空白,无法切换到它怎么办。相反,禁用提交按钮,直到满足密码字段至少有一个字符的条件。

使用伪代码:

if(field.contents.string.length < 1)
{
confirmButton.enabled = false;
}
else
{
confirmationButton.enabled = true;
}
于 2012-08-09T05:43:08.967 回答
0

对密码文本域使用 onChange 方法,而不是在此方法中检查密码文本域的长度,不要使用修剪,因为用户可能需要空格。

<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);
}
于 2012-08-09T06:36:30.930 回答