在可配置的表单中,我可以禁用当前表单的“下一步”按钮,使用预激活脚本在屏幕上激活它的属性
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;
我希望自从我进入验证表达式后,此代码不会执行。但是在哪个地方必须插入代码,这样只要用户在用户名和密码字段中输入一些值,该表单的Next按钮就会被启用?
答案 0 :(得分:3)
只有当用户点击“下一步”按钮时,才会执行屏幕的验证表达式。 “文本字段”表单组件有两个先前执行的脚本:
“密钥验证表达式”属性 - >按下单个键后调用
“输入验证表达式”属性 - >文本字段失去焦点时调用