@darknet37

Как в правилах валидации указать валидацию. YII2?

У меня в моделе есть такой правило:
[['name', 'email', 'phone', 'address'], 'required'],

как мне указать, чтобы поля обрабатывались htmlspecialchars?
  • Вопрос задан
  • 233 просмотра
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Зачем Вам htmlspecialchars при записи в базу?
Другое дело при выводе из базы на страницу сайта, то да, используется htmlspecialchars().
Но для этого в yii2 есть два метода, Html::encode и Html::decode(), а они как раз и используют htmlspecialchares().
Вот и используйте возможности framework-a. При выводе в браузер применяйте Html::encode().
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
А как у Вас обязательность полей связана с htmlspecialchars?
Есть события beforeSave, beforeValidate и другие где Вы можете сделать любые преобразования, валидатор 'required' тут при чем?
Ответ написан
@heahoh
Full stackoverflow developer
Как бы странно не звучало но зона ответственности валидатора - валидация данных. Валидатор не производит изменения данных, только сообщает модели, верные ли данные она хранит.
Хотите чтобы валидация модифицировала данные - не пользуйтесь фреймворком - используйте лучшие практики глобальных переменных, спагетти-кода, GOD-объектов, магических чисел и прочих технологий
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы