2012-10-16 2 views
2

내가 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(....) 

그렇다면 어떻게 사용할 수 있습니까 ??

+1

어떤 국가/국가의 전화 번호가 있습니까? – Guillaume

답변

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

다른 국가의 전화 번호에 대해 유효성 검사를 수행해야하는 경우 작동하지 않습니다. – Guillaume

+0

맞습니다.이 경우 [RegularExpressionAttribute] (http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.regularexpressionattribute.aspx)에서 파생 된 클래스를 만들고 일부 클래스를 추가 할 것입니다. 내부 로직 ... –

2

당신은 정규 표현식을해야합니다.

이 예

Regex Library

을 시도하고 당신은 같이 데이터 anotations에서 정규식 패턴을 사용할 수 있습니다

[RegularExpression(@"^[2-9]\d{2}-\d{3}-\d{4}$", ErrorMessage = "Please enter a valid phone number.")] 
public string PhoneNumber { get; set; } 
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; } 

그런 다음 지역 전화 번호 형식에 적합한 정규 표현식을 사용하십시오. 전화 번호에는 정규 표현식의 예가 많이 있습니다.

행운을 빈다.

관련 문제