TG Telegram Group & Channel
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter | United States America (US)
Create: Update:

Путь к DRY валидации в Laravel

В статье рассказывается о том, как один человек решил сократить дублирование кода при написании правил валидации с помощью принципа DRY (Don't Repeat Yourself). Он искал удобное решение, которое удовлетворяло бы нескольким основным требованиям:

1. Имело бы удобный интерфейс.
2. Позволяло бы при необходимости редактировать или переписывать правила валидации для полей.
3. Давало бы возможность добавлять дополнительные поля «на месте».
4. Использовало бы только строковые значения в качестве имен полей, при этом имена не могли бы содержать точки, так как они нужны для разделения уровней вложенности.
5. Некоторые поля группировались по сущностям базы данных, а некоторые существовали отдельно.

Для реализации этого решения использовался существующий механизм хелперов в Laravel. Было решено создать функцию get_validation_rules, которая бы принимала два параметра: массив с именами полей и ассоциативный массив с дополнительными правилами для этих полей.

Эта функция берет глобальные правила из конфигурационного файла Laravel и на их основе формирует итоговый массив правил для указанных полей. Если для поля указаны дополнительные правила, они добавляются к существующим правилам.

Таким образом, герой статьи смог создать удобный механизм для управления правилами валидации, минимизировав дублирование кода и упростив поддержку этих правил в будущем.

Путь к DRY валидации в Laravel

В статье рассказывается о том, как один человек решил сократить дублирование кода при написании правил валидации с помощью принципа DRY (Don't Repeat Yourself). Он искал удобное решение, которое удовлетворяло бы нескольким основным требованиям:

1. Имело бы удобный интерфейс.
2. Позволяло бы при необходимости редактировать или переписывать правила валидации для полей.
3. Давало бы возможность добавлять дополнительные поля «на месте».
4. Использовало бы только строковые значения в качестве имен полей, при этом имена не могли бы содержать точки, так как они нужны для разделения уровней вложенности.
5. Некоторые поля группировались по сущностям базы данных, а некоторые существовали отдельно.

Для реализации этого решения использовался существующий механизм хелперов в Laravel. Было решено создать функцию get_validation_rules, которая бы принимала два параметра: массив с именами полей и ассоциативный массив с дополнительными правилами для этих полей.

Эта функция берет глобальные правила из конфигурационного файла Laravel и на их основе формирует итоговый массив правил для указанных полей. Если для поля указаны дополнительные правила, они добавляются к существующим правилам.

Таким образом, герой статьи смог создать удобный механизм для управления правилами валидации, минимизировав дублирование кода и упростив поддержку этих правил в будущем.


>>Click here to continue<<

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)