我正在使用MVC而我想验证手机号
我写了这堂课:
public class StduentValidator : AbstractValidator<graduandModel>
{
public StduentValidator(ILocalizationService localizationService)
{
RuleFor(x => x.phone).NotEmpty().WithMessage(localizationService.GetResource("Hire.HireItem.Fields.phone.Required"));
}
}
如何验证本课程中的电话号码?
我可以使用以下内容吗?
RuleFor(x => x.phone).SetValidator(....)
如果是这样我怎么用呢?
答案 0 :(得分:4)
您是否考虑在模型中使用DataAnnotations?
这样的事情:
[DataType(DataType.PhoneNumber, ErrorMessage = "Invalid Phone Number")]
public string PhoneNumber { get; set; }
另一种解决方案是使用正则表达式:
[DisplayName("Phone number")]
[Required(ErrorMessage = "Phone number is required")]
[RegularExpression(@"((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}", ErrorMessage = "Invalid phone number")]
答案 1 :(得分:2)
你需要正则表达式。
试试这个例子
然后您可以在数据转换中使用正则表达式模式,如下所示:
[RegularExpression(@"^[2-9]\d{2}-\d{3}-\d{4}$", ErrorMessage = "Please enter a valid phone number.")]
public string PhoneNumber { get; set; }
答案 2 :(得分:0)
数据注释将满足您的要求。尝试:
[Required(ErrorMessage = "The phone number is required")]
[Display(Name = "Student's phone number")]
[RegularExpression("", ErrorMessage = "A valid phone number is required")]
public string PhoneNumber { get; set; }
然后使用适合您的本地电话号码格式的正则表达式。电话号码有很多正则表达式的例子。
祝你好运。