Zend Framework自定义验证类错误消息 [英] Zend Framework Custom Validation Class Error Message

查看:52
本文介绍了Zend Framework自定义验证类错误消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

验证会失败,但不会返回错误消息.

The validation fails as it should but does not return the error message.

       $form->addElement('text', 'phone_number', array(
     'required' => true,
       'validators' => array(
         array('NotEmpty', true, array('messages' => 'Enter a valid Phone Number')),
           array('regex', false, array('pattern' => '/\([0-9]{3}\)\s[0-9]{3}-[0-9]{4}/',
              'messages' => 'Enter a valid Phone Number'
     )),
           'CheckPhoneNumber'),

       ),
   ));

自定义类:

class Custom_Validators_CheckPhoneNumber extends Zend_Validate_Abstract{
const IN_USE = 'inUse';

protected $_messageTemplates = array(
    self::IN_USE => "'%value%' is currently in use"
);

public function isValid($value)
{
    $this->_setValue($value);

        $user_check = Users::getActive(preg_replace("/[^0-9]/", "", $value));
        if($user_check->id){
            $this->_error(self::IN_USE);
            return false;
        }

  return true;
}

}

仅失败不会给出"IN_USE"错误.

Just fails does not give the "IN_USE" error.

推荐答案

是仅phone_number元素不显示错误,还是还有其他元素?

Is it only the phone_number element which doesn't display errors or are there others?

您是否使用disableLoadDefaultDecorators关闭了默认装饰器?

Have you turned off default decorators with disableLoadDefaultDecorators?

如何在数组中提供自定义验证器?

How about this supplying the custom validator in an array:

$form->addElement(
    'text', 'phone_number', array(
        'required' => true,
        'validators' => array(
            array(
                'NotEmpty', true, array(
                    'messages' => 'Enter a valid Phone Number'
                )
            ),
            array(
                'regex', false, array(
                    'pattern' => '/\([0-9]{3}\)\s[0-9]{3}-[0-9]{4}/',
                    'messages' => 'Enter a valid Phone Number'
                )
            ),
            array(
                'CheckPhoneNumber'
            )
        )
    )
);

这篇关于Zend Framework自定义验证类错误消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆