Forms Zend Form使用required="&引用;然后根据最新版本的浏览器的要求进行解释

Forms Zend Form使用required="&引用;然后根据最新版本的浏览器的要求进行解释,forms,zend-framework,html,required,Forms,Zend Framework,Html,Required,即使Zend Framework的元素没有setRequired()或有setRequired(false)调用,它也始终呈现为 当Chrome、Firefox和其他最新版本的浏览器试图在发布表单之前验证表单时,看到这段代码,就会显示错误消息,该字段是必需的(尽管不是)。浏览器似乎检测到所需属性的存在,而不关心其值(在本例中为空) 此外,我尝试忽略浏览器验证,但它不起作用(无论如何,这不是一个好的解决方案,因为可能仍然需要保持浏览器端验证) 因此,问题是如何使setRequired(true)呈

即使Zend Framework的元素没有setRequired()或有setRequired(false)调用,它也始终呈现为

当Chrome、Firefox和其他最新版本的浏览器试图在发布表单之前验证表单时,看到这段代码,就会显示错误消息,该字段是必需的(尽管不是)。浏览器似乎检测到所需属性的存在,而不关心其值(在本例中为空)

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

因此,问题是如何使setRequired(true)呈现required=“required”,而缺少setRequired()或->setRequired(false)不呈现任何属性?

输入标记中的“required”属性是HTML5属性,不确定Zend是否支持这一点

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

setRequired(true)仅用于服务器端验证。要添加所需的HTML5,我使用

->setAttrib('required','true')


这将添加required=“true”,这并不是必需的,简单的required就足够了。但我在Zend中从未找到这样做的方法,请重新阅读我的问题。如果您不确定,请先检查。然后,我不会问如何设置一个字段作为必需的,恰恰相反-试图设置为非必需的呈现HTML是不好的。请张贴您的代码。据我所知,ZF不支持必需的属性,因此您是否使用setAttrib()手动设置它?