用于移动和电话号码的ASP.NET MVC 3数据注释(已编辑)

Jed*_*Jed 10 asp.net-mvc-3

如何在写电话号码(如"094-4567")或手机号码(如"09129705678"等)时使用数据注释编写验证?

using System.Web;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;

namespace PhoneBook.Models
{
    public class Contact
    {
        [Required(ErrorMessage="Telephone Number Required")
        [?]
        public string Telephone Number {get; set;}
    }
}
Run Code Online (Sandbox Code Playgroud)

我真的不知道该怎么办......

luc*_*ask 35

您可以像这样使用正则表达式属性:

namespace PhoneBook.Models
{
    public class Contact
    {
        [Required(ErrorMessage="Telephone Number Required")
        [RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Entered phone format is not valid.")]
        public string Telephone Number {get; set;}
    }
}
Run Code Online (Sandbox Code Playgroud)

它将匹配数字,如:0123456789,012-345-6789,(012)-345-6789等.

您可以在此处了解有关此表达式的更多信息:如何使用正则表达式验证电话号码