Фильтр проверки немодельного состояния
Это повседневный сценарий создания уникальных записей в БД. Предположим, у вас есть сущность User
. У вас есть все возможные атрибуты проверки, но вы не можете добавить их. И это то, является ли экземпляр сущности уникальным.
Зачем он нам нужен?
Это два наиболее распространенных процесса с сущностью User
, в которых используется проверка:
- Создание новых пользователей
- Обновление данных пользователя
Итак, когда вы создаете нового пользователя, вам, скорее всего, нужно проверить, является ли он уникальным в вашей БД (имя пользователя или адрес электронной почты или что-то подобное; что-то нужно проверить на уникальность).
Но когда вы делаете обновление, уникальность не должна проверяться, потому что пользователь уже существует в БД.
Как мы решаем это?
Используя фильтр действия в действии Create
. Но так как этот тип фильтра должен использоваться для всех типов объектов, целесообразно сделать его более универсальным и многократно используемым, поэтому мы можем использовать его для всех типов объектов.
Вот как я это сделал.