【问题标题】:Datatype validation is not working in web form scaffolding数据类型验证在 Web 表单脚手架中不起作用
【发布时间】:2015-04-09 14:32:16
【问题描述】:

我正在使用 Visual Studio 的 Web 表单脚手架工具用于 Web 表单。到目前为止,一切都很好,除了 Datatype 电子邮件和电话号码验证确实按预期工作。添加时有数据验证检查:

 [DataType(DataType.PhoneNumber, ErrorMessage = "Phone number is not valid")]
 public string TitleEmail { get; set; }

 [DataType(DataType.EmailAddress, ErrorMessage = "Email address is not valid")]

在不覆盖验证的情况下,我不得不使用正则表达式。

[RegularExpression(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage = "Email was invalid.")]
[RegularExpression(@"^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$", ErrorMessage = "Invalid phone number format.")]

有谁知道为什么默认验证对 Web 表单脚手架不起作用或让它再次起作用?

【问题讨论】:

  • 我认为您需要添加[EmailAddress] 属性...请参阅此处stackoverflow.com/questions/11453574/… 以了解可能的重复
  • @DrewJordan 添加 [EmailAddress] 和 [Phone] 似乎可以解决问题。谢谢

标签: asp.net asp.net-mvc entity-framework webforms scaffolding


【解决方案1】:

添加为答案...

您可以使用[EmailAddress] 属性来验证电子邮件地址。在 .NET 4.5 中。 [DataType(DataType.EmailAddress)] 仅用于显示目的(使用DisplayFor 将导致它呈现mailto 链接而不是纯文本)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 2011-06-30
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多