Wix自定义对话验证

Jon*_*onn 6 validation wix

如何在Wix自定义对话框中验证字段?我有一个组合框,我用来设置一个不能为null的属性.

Chr*_*ter 10

这将取决于验证的复杂性.对于一个简单的控件必须有一个值,你可以做一些像:

<UI...>
 <Dialog...>
  <Control Id="Next"...>  
   <Publish Event="SpawnDialog" Value="ErrorsDlg">Not SomeProperty</Publish>
   <Publish Event="NewDialog" Value="NextDialog">Property</Publish>
  </Control>
 </Dialog>
</UI>
Run Code Online (Sandbox Code Playgroud)

其中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>
Run Code Online (Sandbox Code Playgroud)