1

構成可能なフォームでは、現在のフォームの [次へ] ボタンを無効にすることができます.

context.getWizardContext().setNextButtonEnabled(false); 

ただし、ユーザーがユーザー名とパスワードのテキスト フィールドに何らかの値を入力したらすぐに有効にする必要があります。このメソッドを呼び出して有効にしようとしました

context.getWizardContext().setNextButtonEnabled(true); 

ユーザー入力から->対応するテキストフィールドの検証式。しかし、私が達成することはできませんが、私が望んでいたこと。install4j でこれを行う可能性はありますか?

これは、検証 Expression に入力したコードです。

String username = context.getVariable("userName").toString().trim();
String password = context.getVariable("password").toString().trim();
if((username.equals(null)) || (username.isEmpty())) {
context.getWizardContext().setNextButtonEnabled(false);
}
else if((password.equals(null)) || (password.isEmpty())) {
context.getWizardContext().setNextButtonEnabled(false);
}
else {
context.getWizardContext().setNextButtonEnabled(true); 
}
return true;

Validation Expression に入力したため、このコードが実行されないことを願っています。しかし、ユーザーがユーザー名とパスワードのフィールドに何らかの値を入力するとすぐに、このフォームの [次へ] ボタンが有効になるように、コードを挿入する必要がある場所はどこですか?

4

1 に答える 1

3

画面の検証式は、ユーザーが [次へ] ボタンをクリックしたときにのみ実行されます。「テキスト フィールド」フォーム コンポーネントには、以前に実行された 2 つの追加スクリプトがあります。

  • 「キー検証式」プロパティ -> 単一のキーが押された後に呼び出されます

  • 「入力検証式」プロパティ -> テキストフィールドがフォーカスを失ったときに呼び出されます

于 2013-02-16T11:27:18.097 に答える