1

我正在尝试验证用户在 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>

提前致谢。

4

2 回答 2

0

根据 Windows 安装程序条件语句语法文档,您需要的内容是不可能的。

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

于 2013-06-03T11:48:15.667 回答
0

您可以使用子字符串运算符来检查字符串是否包含空格。

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>
于 2014-06-19T20:36:13.690 回答