수색…


유효성 검사 속성이있는 모델 유효성 검사

유효성 검사 속성을 사용하여 모델 유효성 검사를 쉽게 구성 할 수 있습니다.

public class MyModel
{
    public int id { get; set; }

    //sets the FirstName to be required, and no longer than 100 characters
    [Required]
    [StringLength(100)]
    public string FirstName { get; set; }
}

내장 된 속성은 다음과 같습니다.

  • [CreditCard] : 속성의 신용 카드 형식 유효성을 검사합니다.
  • [Compare] : 모델 일치에서 두 속성을 확인합니다.
  • [EmailAddress] : 전자 메일 형식의 속성을 확인합니다.
  • [Phone] : 전화 형식의 속성을 확인합니다.
  • [Range] : 속성 값이 지정된 범위 내에 있는지 확인합니다.
  • [RegularExpression] : 데이터가 지정된 정규 표현식과 일치하는지 확인합니다.
  • [Required] : 속성을 요구합니다.
  • [StringLength] : 문자열 속성이 주어진 최대 길이 이하인지 확인합니다.
  • [Url] : 속성의 URL 형식을 확인합니다.

사용자 지정 특성을 사용한 모델 유효성 검사

내장 된 특성으로 모델 데이터의 유효성을 검사하기에 충분하지 않은 경우 ValidationAttribute에서 파생 된 클래스에 유효성 검사 논리를 배치 할 수 있습니다. 이 예에서는 홀수 만 모델 멤버에 대한 유효한 값입니다.

사용자 지정 유효성 검사 특성

public class OddNumberAttribute : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        try
        {
            var number = (int) value;
            if (number % 2 == 1)
                return ValidationResult.Success;
            else
                return new ValidationResult("Only odd numbers are valid.");
        }
        catch (Exception)
        {
            return new ValidationResult("Not a number.");
        }            
    }
}

모델 클래스

public class MyModel
{
    [OddNumber]
    public int Number { get; set; }
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow