Подскажите пожалуйста, можно ли организовать такую проверку:
Поле с данным по Отчеству является обязательным, но его может не быть, о чем пользователь должен поставить галочку.
Есть ли возможность отключить поле отчества, если галочка стоит?
Пока реализовал через встроенный фильтр модели, но буду писать скорее всего свой валидатор, что бы это же делать на стороне клиента.
Вот только со своим валидатор пока проблема, он ведь должен использовать встроенные правила валидации, а сам валидатор является лишь прослойкой с динамической моделью...
Код: Выделить всё
public function validateMiddleName($attribute, $params)
{
if(!$this->middle_empty) {
$model = DynamicModel::validateData([$attribute => $this->$attribute], [
[$attribute, 'match', 'pattern' => '/[а-яА-ЯёЁ]+$/s', 'message' => $params['message'],
[$attribute, 'string', 'max' => 32]
]);
if($model->hasErrors()) {
$this->addErrors($model->getErrors());
}
} elseif(empty($this->$attribute)) {
$this->addError($attribute, Yii::$app->getI18n()
->format($params['empty'], [
'attribute' => $this->getAttributeLabel($attribute)
], Yii::$app->language));
}
}