我有一个美国电话号码的文本框。为此,我使用MaskedEditExtender和RegularExpressionValidator检查用户是否以正确的格式输入了数字。代码如下:
<ajax:MaskedEditExtender ID="meePhoneNumber" runat="server" Mask="999-999-9999" TargetControlID="tbComapnyPhoneNumber" MaskType="Number" ClearMaskOnLostFocus="false" AutoComplete="false" MessageValidatorTip="true" ErrorTooltipEnabled="true" />
<asp:RegularExpressionValidator ID="revCompanyPhone" runat="server" ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}( x\d{0,})?" ControlToValidate="tbComapnyPhoneNumber" ErrorMessage="Please enter a valid phone number" Display="Dynamic" />现在,当我保存数据时,它会验证文本框,即使它不是必需的字段验证器。当我将ClearMaskOnLostFocus更改为true时,即使我将etxtbox保留为空,它也会保存数据,但当我将其更改为false时,它不会让我保存数据。
发布于 2011-12-16 17:02:39
强制验证器将掩码文本视为有效值:
ValidationExpression="(((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}( x\d{0,})?)|(^___-___-____$)"https://stackoverflow.com/questions/8530745
复制相似问题