Проверка модели и перезапись значений (при необходимости) в приложении ASP. NET Core MVC - PullRequest
0 голосов
/ 16 июня 2020

Я работаю над веб-приложением ASP. NET Core MVC, которое использует Angular 9 для внешнего интерфейса и SQL серверную базу данных. Веб-сайт содержит довольно много диалогов «создать» (или «обновить»), в которых пользователь может создавать различные типы объектов, которые затем будут записаны в базу данных. 1013 * участвует при создании таких объектов. Например, некоторые значения атрибутов этих объектов должны находиться в определенном диапазоне, например от 0 до 100 (в зависимости от типа атрибута). Для некоторых атрибутов также определены значения по умолчанию, которые следует использовать, если пользователь не вводит никакого другого значения для атрибута.

В настоящее время такие проверки выполняются во внешнем интерфейсе через Angular FormControls, что, очевидно, означает что проверки можно легко обойти, напрямую отправив запросы POST / PUT на сервер вместо использования внешнего интерфейса.

Есть ли способ применить такие проверки во внешнем интерфейсе, а также в серверной части, не реализуя их в фронтенд и бэкэнд отдельно?

1 Ответ

0 голосов
/ 17 июня 2020

Есть ли способ применить такие проверки во внешнем интерфейсе, а также в серверной части, не реализуя их отдельно во внешнем интерфейсе и серверной части? Внутренняя часть MVC / API, вы не можете реализовать / настроить валидатор данных и заставить его выполнять как проверку на стороне клиента, так и на стороне сервера в одном месте.

Как мы знаем, проверка пользовательского ввода происходит на на стороне клиента, что может помочь избежать ненужного обращения к серверу и обратно при наличии ошибок ввода в форме.

Как вы упомянули, некоторые злоумышленники могут обходить скрипт на стороне клиента, поэтому обычно мы также выполняем проверку на стороне сервера для защиты от злонамеренных входов. В ASP. NET Core функция проверки модели помогает проверять данные модели, и мы можем проверить ModelState.IsValid, а затем соответствующим образом отреагировать в коде logi c.

Кроме того, вы можете знать концепцию и основы c использование проверки модели в ASP. NET Core, отсюда: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-3.1

...