Предыстория:
Есть проект, который развивается, по оказанию услуг (их много планируется несколько сотен).
Поля на услугах схожие, но есть дополнительные и у некоторых есть различия.
Делать модель под каждую услугу неразумно, использую общую модель. Настойки услуги храню в базе. Дополнительные поля с настройками, валидациями и т.д. тоже в базе. Настройки валидации хранятся в таком виде «["0"=>["0"=>'my_input', "1"=>'validateMyField',],"1"=>["0"=>'my_input', "1"=>'required',]]»
Сама функция валидации в модели.
Вопрос:
rules формируется, приблизительно, в такой вид.
Код: Выделить всё
public function rules()
{
return [
...
['my_input', 'validateMyField'],
['my_input', 'required'],
];
}
public function validateMyField($attribute, $params)
{
echo '111';
exit;
}
Код: Выделить всё
// public function validateMyField($attribute, $params)
// {
// echo '111';
// exit;
// }
ReflectionException
Class validateMyField does not exist
Администратор конечно увидит, что что-то не так и поправит это, но хочется сделать все по человечески, чтобы даже не специалист понял в чем проблема.
Есть ли возможность в yii проверить наличие своей валидации validateMyField, перед её подключением?
Проверить существования класса не вариант, validateMyField — это можетбыть свойством.
Может кто-то делал подобное поделитесь опытом.