在Zend_Form中创建一个可选字段(仅在提供时验证,如果丢失则为OK)

时间:2015-10-21 11:29:02

标签: php zend-framework

如您所见,我想使用户名可选。所以,我不想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)。但是,这需要我所需要的领域,这是我不想要的。有什么想法吗?

0 个答案:

没有答案