【问题标题】:Masked Edit Validator Phone蒙面编辑验证器电话
【发布时间】:2012-03-16 16:48:31
【问题描述】:

我在使用 asp.net MaskedEditExtender 和 MaskedEditValidator 时遇到问题。我创建了一个带有电话掩码和掩码验证器的自定义控件。我有两个问题可以通过一些帮助来解决。

问题 1 - 我有一个验证电话号码的 ValidationExpression,但如果我设置 EnableClientScript = false,它将不会在屏幕上显示消息。它将正确验证它并且不让它们通过,但不会显示消息。如果是真的会显示,但是我只想做服务器端验证。

问题 2 - 有时不需要我的控制。有没有办法让验证表达式仅在掩码不为空时触发?现在,如果需要,将显示 EmptyValueMessage 并在输入文本时触发验证。但是,如果 IsValidEmpty 为真,则验证表达式在其为空时触发,因此不允许为空。有没有办法只在不为空时触发它,或者我是否必须更新表达式以允许空掩码?如果我必须更新表达式,有没有人有一个很好的例子? (对不起,正则表达式是我的弱点)

下面是我的代码。

_maskedEditExtender.ID = "maskedExt" + this.ID;
_maskedEditExtender.ClientIDMode = System.Web.UI.ClientIDMode.Static;
_maskedEditExtender.TargetControlID = this.ID;
_maskedEditExtender.MaskType = MaskedEditType.None;
_maskedEditExtender.Mask = "(999) 999-9999";
_maskedEditExtender.InputDirection = MaskedEditInputDirection.LeftToRight;
_maskedEditExtender.ClearMaskOnLostFocus = false;

_maskedEditValidator.ID = "maskedVal" + this.ID;
_maskedEditValidator.ControlToValidate = this.ID;
_maskedEditValidator.ControlExtender = _maskedEditExtender.ID;
_maskedEditValidator.InitialValue = "(___) ___-____";
_maskedEditValidator.IsValidEmpty = !Required;
_maskedEditValidator.ValidationExpression = @"^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$";
_maskedEditValidator.EmptyValueMessage = "Please enter a phone number.";
_maskedEditValidator.InvalidValueMessage = "Please enter a valid phone number.";

_maskedEditValidator.ValidationGroup = "FormsValidationGroup";
_maskedEditValidator.CssClass = "FormValidation";
_maskedEditValidator.EnableClientScript = false;

【问题讨论】:

  • 我发现了问题 2。我更改了正则表达式 o 包含掩码。 _maskedEditValidator.ValidationExpression = @"^[01]?[- .]?(([2-9]\d{2})|[2-9]\d{2})[- .]?\d{3 }[- .]?\d{4}|((___) ___\-____)$";

标签: asp.net ajax maskededitextender maskededitvalidator


【解决方案1】:

问题 1...我从来没有收到关于如何更正此问题的回复,而且用户希望每次都回帖,所以我只设置 enableclientscript = false。

问题 2... maskedEditValidator.ValidationExpression = @"^[01]?[- .]?(([2-9]\d{2})|[2-9]\d{2})[ - .]?\d{3}[- .]?\d{4}|(() __-_)$";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    相关资源
    最近更新 更多