我正在尝试验证用户在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>
提前致谢。
答案 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>