Public class BookContext : DbContext



{

public DbSet<Book> Books { get; set; }

public DbSet<Purchase> Purchases { get; set; }

}

}

Books және Purchases қасиеттерімен дерекқорда сақталатын тиісті үлгілердің деректеріне қол жеткіземіз.

Приведите пример создания и использования модели валидации.

Валидация пользовательских данных, жизненно важная бизнес-логика и правила — ключевое требование большинства веб-приложений. ASP.NETMVC 5 предлагает массу новых возможностей, которые значительно облегчают реализацию валидации пользовательских данных и логики валидации моделей и моделей представления. Новый функционал разработан ориентируясь на обязательную валидацию на стороне сервера, но так же дополнительно может быть реализован на стороне клиента, используя JavaScript.

IValidatableObject

Самовалидация представляет собой процесс, при котором модель запускает механизм валидации из себя самой. И сама инкапсулирует всю логику валидации.

Для этого класс модели должен реализовать интерфейс IValidatableObject:

Public class Book : IValidatableObject

{

[ScaffoldColumn(false)]

public virtual int Id { get; set; }

[Display(Name = "Название")]

public virtual string Name { get; set; }

[Display(Name = "Автор")]

public virtual string Author { get; set; }

[Display(Name = "Год")]

public virtual int Year { get; set; }

public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)

{

List<ValidationResult> errors = new List<ValidationResult>();

If (string.IsNullOrEmpty(this.Name))

{

errors.Add(new ValidationResult("Введите название книги"));

}

If (string.IsNullOrEmpty(this.Author))

{

errors.Add(new ValidationResult("Введите автора книги"));

}

if (this.Year == null || this.Year<1700 || this.Year>2000)

{

errors.Add(new ValidationResult("Недопустимый год"));

}

returnerrors;

}

}

В данном случае нам надо реализовать метод Validate и возвратить коллекцию объектов ValidationResult, которые и будут содержать все ошибки валидации.


Дата добавления: 2018-02-15; просмотров: 245; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!