Автономный валидатор Symfony - атрибуты HTML

0

Я сам использую SF2-формы и блок проверки правильности. Есть ли способ генерировать атрибуты HTML из аннотаций, которые создаются с помощью проверки подлинности symfony? Например:

Преобразовать это -

/**
 * @var
 * @Assert\Length(min="2", max="2")
 */
protected $state;

в HTML-код

<input type="text" maxlength="2" ... >

Как правило, я знаю, что установлен в SF2, установив размер для строки в аннотации Doctrine, но я использую Aura.SQL для взаимодействия с базой данных.

Спасибо за любую информацию!

Теги:
validation
doctrine2
symfony-forms

2 ответа

1
Лучший ответ

Ну, согласно документации, "угадывание" активируется, когда вы опускаете второй аргумент методу add() (или передаете ему null).

Если вы используете эту функцию, Symfony попытается угадать "тип" для поля и правильные значения нескольких параметров поля на основе метаданных проверки (и информации доктрины).

Таким образом, теоретически, он должен дать вам ожидаемый результат, если вы опустите второй аргумент или передадите ему null (он будет отображать атрибуты html5 в выходном input).

Если по какой-либо причине он не работает, вы всегда можете принудительно выполнить его рендеринг в методе добавления (он также отменяет любые догадки, если он существует):

->add('state', null, array('attr' => array('minlength' => 2,'maxlength' => 2)))

или даже в шаблоне ветки:

{{ form_widget(form.state, {'attr': {'maxlength' : 2, 'minlength' : 2 } }) }}
  • 0
    Я провел остаток дня и узнал, что у библиотеки Валидатора есть свой догадка. Я должен был включить его как расширение формы, и это уменьшило количество набираемых текстов. После того, как я сделал это, я сделал то, что вы рекомендовали, установив второй аргумент как NULL, это сработало! Спасибо!
1

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню