У меня возникли проблемы с проверкой в Sonata Admin.Проверка правильности сонаты
В интерфейсе для клиентов у меня есть две формы: Регистрация и профиль. На основе FOSUser. Правила проверки в:
SRC/UserBundle/Ресурсы/конфигурации/validation.yml
Есть две группы проверки для каждой формы. Для меня предпочтительнее использовать бэкэнд для использования этих правил и добавить еще одну группу, такую как AdminProfileEdit, потому что есть различия с формами frontend. Но я не могу понять, как настроить? В документации я прочитал о inlineValidation - добавить в класс UserAdmin метод
/**
* @param ErrorElement $errorElement
* @param mixed $object
*/
public function validate(ErrorElement $errorElement, $object)
{
$errorElement
->with('profile.firstname')
->assertNotBlank()
->end()
....
;
}
, но для меня это плохое решение, чтобы иметь 2 конфиги проверки. В https://sonata-project.org/bundles/admin/2-0/doc/reference/conditional_validation.html Я не могу найти хорошее объяснение, как проверить бэкэнд-форму.
В Сонате \ AdminBundle \ Admin \ AdminInterface метод проверка помечена как устаревшие:
- @deprecated эта функция не может быть стабильной, использовать пользовательский валидатор,
- функция будет удалена с Symfony 2.2
что это значит? И как проверить? Может кто-нибудь написать шаг за шагом, что делать? Даже какие методы или конфигурации мне нужно иметь?
Пожалуйста, помогите кому-то, мне нужно быстро выполнить задачу, и у нас нет плана или решения.
I судимого это. В классе администратора: public function getFormBuilder() { $ this-> formOptions ['data_class'] = $ this-> getClass(); $ options = $ this-> formOptions; $ options ['validation_groups'] = 'AdminProfile'; $ options ['cascade_validation'] = true; $ formBuilder = $ this-> getFormContractor() -> getFormBuilder ($ this-> getUniqid(), $ options); $ this-> defineFormBuilder ($ formBuilder); return $ formBuilder; } и добавлена группа в конфигурацию validation.yml. Но форма сохраняется без ошибок проверки, даже они должны быть. – dmma
Я не понимаю, почему в backend validation.yml не работает. на интерфейсе все нормально – dmma