0

即使Zend Framework的元素没有setRequired()或调用了setRequired(false),它也总是呈现为<input ..... required="">

并且在尝试在发布表单之前验证表单时看到此代码 Chrome、Firefox 和其他最新版本的浏览器,会显示该字段为必填项的错误消息(尽管不是)。似乎浏览器检测到所需属性的存在并且不关心它的值(在这种情况下为空)。

此外,我尝试<form novalidate="novalidate" ...> 忽略浏览器验证,但它不起作用(无论如何这不是一个好的解决方案,因为可能仍然需要保持浏览器端验证)。

所以,问题是如何使->setRequired(true)呈现required="required"和缺少->setRequired()->setRequired(false)不呈现任何属性?

4

2 回答 2

1

->setRequired(true) 仅用于服务器端验证。添加所需的 HTML5 我用这个

->setAttrib('必需','true')

这将添加 required="true" 这并不是真正必要的,简单的 required 就足够了。但我从来没有在 Zend 中找到这样做的方法

于 2016-02-18T15:12:20.320 回答
0

输入标签中的“必需”属性是 HTML5 属性,不确定 Zend 是否支持。

您可以通过使用“->setRequired(true)”轻松设置 required 它,您通过扩展 zend_form 来声明表单元素。

于 2011-10-16T15:03:48.827 回答