如何验证手机没有?

时间:2012-10-16 06:10:27

标签: c# asp.net-mvc

我正在使用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(....)

如果是这样我怎么用呢?

3 个答案:

答案 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)

你需要正则表达式。

试试这个例子

Regex Library

然后您可以在数据转换中使用正则表达式模式,如下所示:

[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; }

然后使用适合您的本地电话号码格式的正则表达式。电话号码有很多正则表达式的例子。

祝你好运。