Для нужд админки использую модели настроек а-ля "Ключ - Значение".
Допустим создадим мы скрытое поле формы, где будем указывать шаблон для валидации поля "Значение". И назовем его "Pattern". Т.е. наша модель - это примерно "Ключ - Значение - Шаблон заполнения".
Для использования валидатора добавляем правило:
[
//...
[['value'], 'match',
'pattern' => /* $this->pattern - не работает, так как для пустых значение сразу выскакивает исключение RegularExpressionValidator-а */,
'when' => function($model) {
return $model->pattern; /* это тоже не работает, так как проверка идет дальше */
}
]
]
Вроде бы и не хочется "городить огород", создавая отдельную функцию для валидации, потому что "как бы" есть встроенная. Возможно всё же можно "уговорить" фреймворк? Или нет?