asp.net-core                
            модели
        
        
            
    Поиск…
Проверка модели с помощью аттрибутов проверки
Атрибуты проверки могут использоваться для простой настройки проверки модели.
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]:[RegularExpression]соответствие данных указанному регулярному выражению.
-  [Required]:[Required]свойство.
-  [StringLength]:[StringLength]что свойство string имеет максимальную максимальную длину.
-  [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