我正在设置一个用户注册页面,并在用户名字段上进行验证,该字段首先检查用户是否不存在,其次是否用户名不是保留的。我的问题是当我将两个验证器附加到表单元素时,它会忽略第二个验证。仅当删除第一个验证时,第二个验证才有效。这是一个错误吗?如果是这样,我该如何解决?
以下是验证器:
$validator = new Zend_Validate_Db_NoRecordExists(
array(
'table' => 'users',
'field' => 'username'
)
);
$validator->setMessage('Username %value% already exists', Zend_Validate_Db_Abstract::ERROR_RECORD_FOUND);
$reserved_validator = new Zend_Validate_Db_NoRecordExists(
array(
'table' => 'reserved_users',
'field' => 'name'
)
);
$reserved_validator->setMessage('Username %value% is not available', Zend_Validate_Db_Abstract::ERROR_RECORD_FOUND);
然后在我拥有的元素上:
->addValidator($validator)
->addValidator($reserved_validator)