Проверять только одно поле формы в Symfony2 - PullRequest
11 голосов
/ 06 декабря 2011

Я ищу способ проверить только одно поле (свойство объекта) на соответствие ограничениям, указанным в аннотациях конкретного объекта.

Цель - отправить запрос AJAX после "onBlur""событие поля формы, с просьбой к серверу проверить только это единственное поле и - в зависимости от ответа - добавить маленькое изображение" ОК "рядом с этим полем или сообщение об ошибке.

Я нехочу проверить всю сущность.

Интересно, как лучше всего решить эту проблему?Спасибо за любые советы.

Ответы [ 2 ]

18 голосов
/ 06 декабря 2011

Класс Validator имеет метод validateProperty. Вы можете использовать это так:

$violations = $this->get('validator')->validateProperty($entity, 'propertyName');
if (count($violations)) {
    // the property value is not valid
}

Или, если значение не задано в сущности, вы можете использовать метод validatePropertyValue:

$violations = $this->get('validator')->validatePropertyValue($entity, 'propertyName', $propertyValue);
if (count($violations)) {
    // the property value is not valid
}
5 голосов
/ 06 декабря 2011

Посмотрите на группы проверки . Я думаю, что это то, что вам нужно. Вы можете добавить группу «ajax» или просто добавить к ней одно ограничение. Затем скажите валидатору использовать эту группу. В документах symfony2 есть пример.

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