PHP YII2 ВАЛИДАЦИЯ
Yii2 имеет встроенную систему валидации, которая позволяет легко валидировать формы и модели. Валидация осуществляется на основе правил, которые необходимо задать для каждого атрибута. Эти правила могут проверять тип данных, длину строки, наличие символов в строке, уникальность значений и многое другое. Yii2 предоставляет множество встроенных правил валидации, таких как required, string, email, url, integer и другие.
Для определения правил валидации можно использовать методы rules() внутри модели. Например, возможно задать следующие правила для атрибута username:
'username' => ['required', 'string', 'max' => 255]
Эти правила говорят о том, что поле 'username' обязательно для заполнения, должно быть строкой не более 255 символов. Также Yii2 предоставляет возможность задавать пользовательские функции валидации. Например, следующий код добавляет пользовательскую функцию проверки наличия определенного слова в строке:
'username' => ['required', 'string', function ($attribute, $params, $validator) { if (stripos($this->$attribute, 'admin') !== false) { $this->addError($attribute, 'This attribute can not contain "admin"'); } }]
Также возможно проводить валидацию не только внутри моделей, но и на уровне форм. Например, можно использовать метод validate() внутри контроллера:
$model = new ContactForm(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { // данные верны }
Этот метод загружает данные из POST-запроса в модель и проводит валидацию. Если все правила валидации пройдены успешно, метод вернет true, иначе - false.
Yii2 Lesson - 47 More on Validation
Сайт на Yii2 - Урок#13. Админка сайта и контроль доступа на фреймворке Yii2
PHP UP - Урок №11 - Часть #1 - Yii 2 модели, валидация
yii2 class configuration - yii2 tutorials - part 13
Yii 2.0 Part 4 - Rules and validation
PHP UP - Урок №11 - Часть #2 - Yii 2 модели, валидация
Yii2 — структура большого проекта
17 - Уроки Yii2. Клиентская валидация. Метод rules()
Yii2 PHP Framework Tutorial - Crash Course for Beginners
Yii2 PHP Framework - Full Course (Build a YouTube Clone)