如您所见,我想使用户名可选。所以,我不想setRequired(true),因为如果字段丢失,那将验证为false(这是为了更新PUT所以只更新API的PUT,如果缺少用户名,请不要; t update。如果存在用户名,则应该验证)
<?php
class UA_Form_NewAccount extends Zend_Form
{
public function init()
{
.
.
.
// username
$username = new Zend_Form_Element_Text('username');
// $username->setRequired(true);
$username->setLabel('Username');
$username->addValidator('NotEmpty');
$this->addElement($username);
.
.
.
}
}
..我也尝试过将移民作为一种阵列方法,但结果总是如此:
// required - first name
$this->addElement('text', 'username', array(
'label' => 'Username',
// 'required' => true,
'validators' => array(
'NotEmpty',
)
));
我发现虽然没有setRequired(true),但验证器没有运行。所以,如果我PUT&#34; username = somethinginvalid&#34;它不会验证,除非我setRequired(true)。但是,这需要我所需要的领域,这是我不想要的。有什么想法吗?