Могу ли я установить общую ошибку формы с помощью валидатора обратного вызова? - PullRequest
0 голосов
/ 20 февраля 2012

Можно ли установить ошибку общей формы с помощью средства проверки обратного вызова? Я не хочу устанавливать его для определенного поля, а скорее для формы с общими ошибками.

Ответы [ 2 ]

0 голосов
/ 18 октября 2012

Вот фрагмент кода для установки ошибки в вашей глобальной форме, а не в поле.

public function isValid(ExecutionContext $context) {

    if (what ever condition) {

        // Do not set the property path as shown in the documentation
        $context->addViolation('This name sounds totally fake!', array(), null);
    }
}

Когда вы не определяете путь свойства в контексте, нарушение добавляется на верхний уровень формы. все, что вам нужно сделать, это удалить эти две строки , указанные в официальной документации:

 $propertyPath = $context->getPropertyPath() . '.firstName';
 $context->setPropertyPath($propertyPath);

А потом просто отобразите глобальные ошибки вашей формы.

{{ form_errors(form) }}
0 голосов
/ 21 февраля 2012

Да, вы должны создать то, что мы называем ограничением class , которое будет применяться к самому data_class, а не к определенному полю: http://symfony.com/doc/2.0/book/validation.html#classes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...