如何验证Wix自定义对话框中的字段?我有一个组合框,我用它来设置一个不能为null的属性。
答案 0 :(得分:10)
这将取决于验证的复杂性。对于一个简单的控件,必须具有一个值,您可以执行以下操作:
<UI...>
<Dialog...>
<Control Id="Next"...>
<Publish Event="SpawnDialog" Value="ErrorsDlg">Not SomeProperty</Publish>
<Publish Event="NewDialog" Value="NextDialog">Property</Publish>
</Control>
</Dialog>
</UI>
其中ErrorsDlg是您创建的类似于MessageBox样式对话框的对话框。如果您有更复杂的验证,您可以编写自定义操作来读取属性,评估规则并设置标志以及要显示的错误消息。这看起来更像是这样:
<UI...>
<Dialog...>
<Control Id="Next"...>
<Publish Event="DoAction" Value="ValidateCA">1</Publish>
<Publish Event="SpawnDialog" Value="ErrorsDlg">Not DataValid</Publish>
<Publish Event="NewDialog" Value="NextDialog">DataValid</Publish>
</Control>
</Dialog>
</UI>