я определяю поле в моем классе формы следующим образом:Symfony2: полевая форма получает «требуется», даже если не установлен, как это в форме или шаблон Twig
->add('alternative_email', 'email', array(
'trim' => true,
'required' => false
))
А также пытались на этом пути:
->add('alternative_email', 'text', array(
'trim' => true,
'required' => false
))
Затем на шаблоне, где я рендеринга это поле я просто делаю это:
{{ form_widget(form.user.alternative_email, {'attr':{'class':'form-control'}})}}
в любое время я сделать, что для м я получаю это как выход:
<input type="email" id="natural_user_alternative_email" name="natural[user][alternative_email]" required="required" class="form-control" data-bv-field="natural[user][alternative_email]">
Почему required
приписывали добавляется?
Как заметка на полях, я использую BootstrapValidator, установив эти правила проверки на этом поле:
'natural[user][alternative_email]': {
validators: {
emailAddress: {},
different: {
field: 'natural[user][email]',
}
}
}
Что означает:
- действительный адрес электронной почты
- Текущий адрес электронной почты (alternative_email) разные от одного на
natural[user][email]
Кроме того, я несколько раз очистил кеш, удалив все содержимое app/cache
вручную (rm -rf app/ cache
) У меня есть ясный кеш APC, запустив php -r "apc_clear_cache(); apc_clear_cache('user'); apc_clear_cache('opcode');"
и, наконец, перезапустив обе службы: php-fpm
и nginx
.
Я также работаю в окне «инкогнито» Chrome, поэтому содержимое не будет кэшироваться. Может ли кто-нибудь помочь мне в этом странном вопросе?
Выполнение некоторых других тестов: как это возможно?
Попытка найти, откуда возникла проблема, я провела некоторые другие испытания и удивила, что я смущен в этот момент, поскольку это невозможно. Понимаешь, я изменил определение поля на класс формы как:
->add('email_alternative', 'text', array(
'trim' => true,
'required' => false
))
И не трогали любую другую часть моего кода, так шаблон остается неизменным и попросить оказать alternative_email
поле. Как и ожидалось, это должно пройти через ошибку? Ну, НЕ, никаких ошибок, страница все еще отображается и поле продолжает звонить natural[user][alternative_email]
, как это возможно?
Я остановил Nginx и начал Apache, чтобы проверить, существует ли какой-то странный кеш, но так же, как и раньше: нет ошибок, поле держит вызов natural[user][alternative_email]
, любой ключ?
ПРИМЕЧАНИЕ: Я использую Symfony 2.6.1
correo_alternativo или alternative_email? – Cerad
@Cerad 'alternative_email' просто опечатка во время перевода с испанского на английский извините – ReynierPM
Проверьте, что ваш контроллер вызывает правильный тип формы. Является ли атрибут 'required' еще там, если вы удалите BootstrapValidator? –