私はアプリケーションに取り組んでおり、パスワード フィールドのある登録フォームがあります。
私の基本的な要件は、パスワードを受け入れられるようにするために、ユーザーがパスワード フィールドに少なくとも 1 つの英字を挿入することを必須にすることです。
アドバイスをお願いします。どうすればよいですか?
ありがとうございました。
私はアプリケーションに取り組んでおり、パスワード フィールドのある登録フォームがあります。
私の基本的な要件は、パスワードを受け入れられるようにするために、ユーザーがパスワード フィールドに少なくとも 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;
}
パスワードの文字が含まれていないときにフィールドを強制的にフォーカスさせることは、望ましい機能ではありません。ユーザー名フィールドを修正したい場合、パスワードフィールドが空白であるため、バットはそれに切り替えることができません。代わりに、パスワードフィールドに少なくとも1文字が含まれるという条件が満たされるまで、送信ボタンを無効にします。
擬似コードの使用:
if(field.contents.string.length < 1)
{
confirmButton.enabled = false;
}
else
{
confirmationButton.enabled = true;
}
パスワード textfield には onChange メソッドを使用します。このメソッドでは、パスワード テキスト フィールドの長さをチェックします。ユーザーがスペースを必要とする場合があるため、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);
}