Я искал метод проверки полей формы в symfony через jquery и ajax. Я видел, что ppl предлагает использовать проверку jquery и другие внешние библиотеки, но я просто понял, что есть более быстрый способ.Symfony ajax field validation
Вы можете, например, настроить прослушиватель событий на каждое поле с помощью функции .each() jquery и отправить ajax-запрос в symfony с помощью json-объекта, содержащего соответствующее поле, и значение, предоставленное пользователем.
На симфони стороне может быть такой:
$jsonValues = $request->getParameter('json_values');
$field = array_keys($jsonValues);
$field = $field[0];
$this->form = new $this->formName();
$vs = $this->form->getValidatorSchema();
try {
$toValidate = $vs[$field]->clean($jsonValues[$field]);
} catch (sfValidatorError $e) {
return $this->renderText($e->getMessage());
}
return $this->renderText('ok');
Что вы думаете об этой идее? Есть ли лучший?
Это похоже на хорошее решение для меня, тем более, что вы DRY-ly используете валидаторы, уже определенные в symfony. – yitznewton