В приложениях ASP.NET Core MVC можно выделять области. Область в ASP.NET Core MVC — это отдельный сегмент приложения, используемый для выполнения определенного круга задач. Например, в приложении можно выделить следующие области: область администрирования системы, область с каталогов товаров, область личного кабинета пользователя и т.д. Разделение приложения на области позволяет выстроить более чёткую структуру проекта.К каждой из областей в приложении может применяться своя маршрутизация
ASP.NET Core MVC
Маршрутизация в ASP.NET Core MVC. Маршрутизация на основе атрибутов
ASP NET Core MVC позволяет использовать в приложении маршрутизацию на основе атрибутов (Attribute-Based Routing). Атрибуты предоставляют более гибкий способ определения маршрутов и часто используются при разработке различных REST API.
Маршрутизация в ASP.NET Core MVC. Маршрутизация на основе соглашений
В системе маршрутизации на основе соглашений, да и, в принципе, во всей маршрутизации важнейшую роль играет шаблон маршрута. В этой части мы подробно рассмотрим различные маршруты и их действие в приложении ASP.NET Core MVC.
Маршрутизация в ASP.NET Core MVC. Введение
В ASP.NET Core MVC для того, чтобы связать действия контроллера с запросами пользователя используется маршрутизация. Система маршрутизации ASP.NET Core MVC базируется на система маршрутизации, используемой в ASP.NET Core, расширяя её возможности для применения в контроллерах.
Модели в ASP.NET Core MVC. Аннотации данных
Для того, чтобы установить правила отображения свойств модели в представлениях используются аннотации данных — специальные атрибуты, применяемые к свойствам модели. Эти атрибуты, как и большинство атрибутов валидации, располагаются в пространстве имен System.ComponentModel.DataAnnotations.
Модели в ASP.NET Core MVC. Самовалидация модели
Самовалидация модели — процесс, при котором модель сама запускает процесс валидации и инкапсулирует все результаты валидации. Для того, чтобы модель могла запускать процесс самовалидации, она должна реализовывать интерфейс IValidatableObject.
Модели в ASP.NET Core MVC. Создание атрибута валидации
В целом, тех атрибутов валидации модели, которые уже имеются в ASP.NET Core MVC вполне достаточно для работы, однако, если этих возможностей по каким-либо причинам недостаточно, то мы можем создать свой атрибут валидации и использовать его в приложении.
Модели в ASP.NET Core MVC. Tag-хэлперы валидации
В предыдущей части мы затронули такую тему как tag-хэлперы. Тема достаточно интересная и обширная и здесь мы продолжим её рассмотрение с точки зрения использования различных tag-хэлперов для валидации модели в ASP.NET Core MVC.
Модели в ASP.NET Core MVC. Валидация на стороне клиента
До этого момента мы использовали механизмы валидации модели на стороне сервера. То есть, прежде, чем пройти валидацию, модель отправлялась на сервер и уже на сервере запускался механизм валидации. Вместе с этим, в ASP.NET Core MVC предусмотрен и другой подход к валидации данных — валидация на стороне клиента. Валидация на стороне клиента позволяет избежать лишних запросов к серверу и использует специальные библиотеки JavaScript, разработанные Microsoft на основе jQuery.
Модели в ASP.NET Core MVC. Атрибуты валидации
Атрибуты валидации модели позволяют подключать к проверке тех или иных свойств дополнительную логику. Например, мы можем проверять строковые значения на соответствие регулярному выражению или проверять вхождение числа в заданный диапазон значений и т.д.