
[英]How to set the message of the NotEmpty validator on a Zend_Form_Element?
[英]NotEmpty validator doesn't work with custom form element
我为电话号码创建了一个自定义表单元素。 它由国际前缀的选择和实际电话号码的文本组成。
class Mylib_Form_Element_Phone extends Zend_Form_Element_Xhtml
{
public $helper = 'formPhone';
protected $prefix;
protected $phone;
public function setValue($value)
{
if (is_null($value)) {
return;
}
if (!is_array($value) || !isset($value['prefix']) || !isset($value['phone'])) {
throw new Exception('Invalid phone value provided');
}
$this->prefix = $value['prefix'];
$this->phone = $value['phone'];
}
public function getValue()
{
return array(
'prefix' => $this->prefix,
'phone' => $this->phone
);
}
public function isValid($value, $context = null)
{
$valid = parent::isValid($value, $context);
if ($valid && !empty($this->phone) && empty($this->prefix)) {
$this->addError('PHONE_PREFIX_REQUIRED');
return false;
}
return $valid;
}
}
我的自定义验证错误工作正常,但是如果使用'required' => true
创建元素,并且我将两个字段均留空,则不会触发任何错误。
如何使NotEmpty验证程序与自定义数组元素一起使用?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.