1

在可配置的表单中,我可以禁用当前表单的“下一步”按钮,使用屏幕激活中的预激活脚本来使用它的属性

context.getWizardContext().setNextButtonEnabled(false); 

但是,一旦用户在用户名和密码文本字段中输入了一些值,我就需要启用它。我试过通过调用这个方法来启用它

context.getWizardContext().setNextButtonEnabled(true); 

从用户输入->相应文本字段的验证表达式。但即使我无法实现,我想要的。在 install4j 中是否有可能这样做?

这是我在验证表达式中输入的代码:

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;

我希望这段代码在我输入验证表达式后不会执行。但是必须在哪个位置插入代码,以便用户在用户名和密码字段中输入一些值后,该表单的下一步按钮将被启用?

4

1 回答 1

3

屏幕的验证表达式仅在用户单击“下一步”按钮时执行。“文本字段”表单组件有两个之前执行的附加脚本:

  • “键验证表达式”属性 -> 在按下单个键后调用

  • “输入验证表达式”属性 -> 当文本字段失去焦点时调用

于 2013-02-16T11:27:18.097 回答