Задать вопрос
kimono
@kimono
Web developer

Как лучше делать фильтрацию данных от пользователя в Yii2?

Примерный код:
--------------------------- IN controller behavior -----------------------------
$post = Yii::$app->request->post();
foreach ($post as $key => $value){
  $post[$key] = удалитьЛишниеПробелыИДвойныеПустыеСтрокиВТекстовыхДанных($value);
}
Yii::$app->request->bodyParams = $post;
--------------------------- OR in model behavior------------------------------
foreach ($this->owner->attributes() as $attributeName => $attributeValue){
  $this->owner->{$attributeName} = удалитьЛишниеПробелыИДвойныеПустыеСтрокиВТекстовыхДанных($attributeValue);
}

В контроллере через навешивание поведений на экшены или в моделях через навешивание поведений при евенте beforeValidate?
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
kimono
@kimono Автор вопроса
Web developer
В общем решение оказалось таким: делать фильтр-валидатор и навешивать на поля в rules модели. Тогда мы спасемся от лишнего пустого пространства как при получении данных от пользователя, так и от самих себя.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
EnChikiben
@EnChikiben
Логичней перекрыть метод модели load
www.yiiframework.com/doc-2.0/yii-base-model.html#l...
Ответ написан
bitver
@bitver
В модели
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы