Zend Form отображает элемент с required = "", который затем интерпретируется как требуется новейшими версиями браузеров - PullRequest
0 голосов
/ 16 октября 2011

Даже когда элемент Zend Framework не имеет setRequired () или имеет setRequired (false) , он всегда отображается как <input ..... required="">

И, увидев этот код Chrome, Firefox и других новейших версий браузеров при попытке проверить форму перед ее публикацией, покажите сообщение об ошибке, что поле является обязательным (хотя это не так). Похоже, браузер обнаруживает наличие необходимого атрибута и не заботится о его значении (в данном случае пусто).

Кроме того, я попытался <form novalidate="novalidate" ...> проигнорировать проверку браузера, но она не сработала (в любом случае это не было бы хорошим решением, так как может потребоваться сохранить проверку на стороне браузера).

Итак, вопрос в том, как сделать -> setRequired (true) для визуализации required = "required" и отсутствие -> setRequired () или -> setRequired (false) не отображать какой-либо атрибут?

Ответы [ 3 ]

1 голос
/ 18 февраля 2016

-> setRequired (true) только для проверки на стороне сервера. чтобы добавить необходимый HTML5, я использую этот

-> setAttrib ( 'требуется', 'правда')

Это добавит required = "true", который на самом деле не является необходимым, достаточно простого требуемого. Но я никогда не находил способ сделать это в Zend

0 голосов
/ 02 января 2012

Вы можете найти, как реализовать элементы формы html5 в этой статье: http://www.enrise.com/2010/12/html5-zend-framework-form-elements/

Обратите внимание на комментарий Джереми к 24 октября 2011 . Он добавил метод, который заботится о необходимом поле. Вы можете найти это здесь: https://github.com/Enrise/Glitch_Lib/pull/28/files

0 голосов
/ 16 октября 2011

Во входном теге атрибут "required" - это атрибут HTML5, не уверен, что Zend поддерживает это.

Вы можете легко установить требуемый параметр, используя «-> setRequired (true)», где вы объявляете элементы формы, расширяя zend_form.

...