【问题标题】:MVC 3 - change field value prior to validationMVC 3 - 在验证之前更改字段值
【发布时间】:2016-03-25 10:33:04
【问题描述】:

我有一个带有字段的模型

    [Required(ErrorMessage = "Email Address is required")]
    [RegularExpression(@"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$", ErrorMessage = "Not a valid email address.")]
    [Display(Name = "Email Address")]
    public virtual string EmailAddress { get; set; }

如果我在电子邮件的开头有一个空白区域,验证将失败。我想编写一个 JQuery 方法来在验证之前修剪该字段。 我尝试附加模糊,但模糊是在验证后执行的。 我该如何解决这个问题?

谢谢。

【问题讨论】:

  • 当表单提交时未在 blur 上触发数据注释。
  • @KartikeyaKhosla 数据注释也会在提交表单后触发模糊。
  • 你不想只在 onChange 这个字段中进行修剪吗?

标签: jquery asp.net-mvc validation


【解决方案1】:

修复它的最简单方法是更改​​正则表达式以允许电子邮件前后有空格:

"^ *[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4} *$"

然后您可以在保存之前修剪服务器端的字段。

我建议使用 EmailAddressAttribute 而不是 RegularExpression
在客户端,您可以删除这样的空格: jquery validate - replace commas in field before validation occurs

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2019-12-04
    • 2011-09-17
    • 2020-04-26
    • 2018-03-18
    • 1970-01-01
    相关资源
    最近更新 更多