【发布时间】:2011-08-30 11:52:06
【问题描述】:
我正在为我的元素使用这种结构:
$freetext = $this->CreateElement('textarea', 'freetext')
->setLabel('Comments')
->setAttrib('class','input-textarea')
->setOptions(array('rows' => '2', 'cols'=>'30'))
->addValidator('StringLength', false, array(0,500))
->addFilter('HtmlEntities')
->addFilter('StripTags')
->setRequired(true);
我想为此添加一个“allowEmpty”,但找不到正确的语法。我希望得到类似的东西:
... ->addValidator('allowEmpty', false, true)
但这不起作用。
编辑:我已将 setRequired() 更改为 true - 我希望允许空字符串作为要求字段的可接受值。
无论用途如何,如何将此选项添加到我的元素中?
【问题讨论】:
-
你能把你的验证器改成
->addValidator('StringLength', false, array(0,500))吗? -
是的,但是我该如何添加这个选项呢?
-
我很困惑。为什么需要使用 setRequired(true)?如果您将其设置为 false 并添加验证器,它会完全按照您的意愿执行操作:如果它为空或经过正确验证,它就会工作。如果它未能通过任何验证,尽管 setRequired 为 false,但不会提交表单。