Wix自定义对话验证

时间:2010-11-10 01:15:31

标签: validation wix

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

1 个答案:

答案 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>