Install4j 密钥验证仅执行一次

问题描述 投票:0回答:1

在我们的安装程序中有一个输入字段,用户应该在其中输入 CIDR 格式的多播范围。我们想要添加输入验证来指示输入的值是否正确,如果正确,我们想要显示相应的范围(起始地址、结束地址和计数)。为了实现这一点,我们尝试添加一个输入验证表达式,但这仅在输入字段失去焦点时执行,并且如果验证返回 false,它也不允许失去焦点。这似乎给我们的用户带来了困惑,因为安装程序似乎被卡住了......

因此,我们希望在每次值更改时重新验证输入,并尝试了“密钥验证表达式”和“密钥侦听器脚本”。但它们似乎并没有按预期工作。它们仅在第一次按键时执行一次,而不再执行。我没有看到日志中打印任何错误。建议的解决此问题的方法是什么?

我们尝试添加一个关键侦听器脚本(返回 void,仅更新提示文本)和一个关键验证表达式(返回 true/false,还更新提示文本)。它们都仅在第一次按键时执行。

install4j
1个回答
0
投票

尝试使用屏幕上的“验证表达式”来验证变量的内容。然后,您可以在该脚本中查询 context.getVariable("variableName") 以检查输入的值并使用

Util.showErrorMessage("...");
return false;

发出验证错误信号。

至于“密钥验证表达式”或“密钥侦听器脚本”属性密钥侦听器脚本仅执行一次,我无法重现这一点。

© www.soinside.com 2019 - 2024. All rights reserved.