检查属性是否在WIX中具有最小字符数(或包含空格)

时间:2013-05-24 22:16:02

标签: wix

我正在尝试验证用户在MaskedEdit控件中的输入,以确保它包含10个数字字符(对于电话号码)。我该如何应用这样的条件?

我当前的代码仅检查该属性是否为空。

<Publish Dialog="InstitInfoDlg" Control="Next" Event="SpawnDialog" Value="InstitInfoDlgError" Order="1">((INSTITUTIONNAME = "") OR (INSTITUTIONTEL = "")) OR (INSTITUTIONTEL = "   -   -    ")</Publish>
<Publish Dialog="InstitInfoDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="2">(NOT (INSTITUTIONNAME = "") AND NOT (INSTITUTIONTEL = "")) AND NOT (INSTITUTIONTEL = "   -   -    ")</Publish>

提前致谢。

2 个答案:

答案 0 :(得分:0)

根据Windows安装程序Conditional Statement Syntax文档,您无法满足要求。

您可以使用Regex_Match自定义操作中的MsiExt自定义操作,也可以自行创建自定义操作以进行验证。

答案 1 :(得分:0)

您可以使用substring operators检查字符串是否包含空格。

INSTITUTIONTEL >< " "

请注意,由于这包括尖括号,您需要将整个表达式包含在CDATA部分中。

<Publish Dialog="InstitInfoDlg" Control="Next" Event="SpawnDialog" Value="InstitInfoDlgError" Order="1"><![CDATA[((INSTITUTIONNAME = "") OR (INSTITUTIONTEL = "")) OR (INSTITUTIONTEL >< " ")]]></Publish>
<Publish Dialog="InstitInfoDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="2"><![CDATA[(NOT (INSTITUTIONNAME = "") AND NOT (INSTITUTIONTEL = "")) AND NOT (INSTITUTIONTEL >< " ")]]></Publish>