Zend Framework Validator消息错误
|
我的表格连接了验证程序错误翻译器
class My_Lib_Forms_Form extends Zend_Form {
public function init()
{
parent::init();
$translator = new Zend_Translate(\'array\', APPLICATION_PATH . \'/languages/errors.php\');
// Задаем объект переводчика для формы
$this->setTranslator($translator);
}
}
这是验证器错误翻译器代码:
<?php
return $errors = array(
Zend_Validate_Alnum::STRING_EMPTY => \"Поле не может быть пустым\",
Zend_Validate_Date::INVALID_DATE => \'Значение не соответствует формату год-месяц-день\',
Zend_Validate_Date::INVALID => \'Неверная дата\',
Zend_Validate_Date::FALSEFORMAT => \'Значение не соответствует указанному формату\',
Zend_Validate_EmailAddress::INVALID_FORMAT => \"asdasd\",
Zend_Validate_EmailAddress::INVALID_FORMAT => \"Не верный формат адреса электронной почты. Введите почту в формате local-part@hostname\",
Zend_Validate_EmailAddress::INVALID_HOSTNAME => \"\'%hostname%\' не верный домен для адреса электронной почты \'%value%\'\",
Zend_Validate_EmailAddress::INVALID_MX_RECORD => \"\'%hostname%\' не имеет MX-записи об адресе электронной почты \'%value%\'\",
Zend_Validate_EmailAddress::DOT_ATOM => \"\'%localPart%\' не соответствует формату dot-atom\",
Zend_Validate_EmailAddress::QUOTED_STRING => \"\'%localPart%\' не соответствует формату quoted-string\",
Zend_Validate_EmailAddress::INVALID_LOCAL_PART => \"\'%localPart%\' не верное имя для адреса электронной почты \'%value%\'\",
Zend_Validate_Int::NOT_INT => \'Значение не является целочисленным значением\',
Zend_Validate_NotEmpty::IS_EMPTY => \'Поле не может быть пустым\',
Zend_Validate_StringLength::TOO_SHORT => \'Длина введённого значения меньше чем %min% символов\',
Zend_Validate_StringLength::TOO_LONG => \'Длина введённого значения больше чем %max% символов\',
My_Lib_Validate_EqualInputs::NOT_EQUAL => \'Пароли не совпадают\',
My_Lib_Validate_Password::INVALID => \'Не верный формат пароля\',
My_Lib_Validate_Password::INVALID_LENGTH => \'Длина пароля должна быть от 7 до 30ти символов\',
Zend_Captcha_Word::BAD_CAPTCHA => \'Вы указали не верные символы\',
Zend_Captcha_Word::MISSING_VALUE => \'Поле не может быть пустым\',
\'userAgreement\' => \'Регистрируясь вы должны согласится с правилами\',
);
如何更改自定义元素的验证错误消息?
我正在尝试通过以下方式进行操作:
$validatorNotEmpty = new Zend_Validate_NotEmpty();
$validatorNotEmpty->setMessages(array(
Zend_Validate_NotEmpty::IS_EMPTY => \'agreeRules\'));
$userAgreement = new Zend_Form_Element_Checkbox(\'userAgreement\', array(
\'required\' => true,
\'label\' => \'Регистрируясь, вы должны согласиться с правилами:\',
\'validators\' => array($validatorNotEmpty),
));
而且也是这样:
$validatorNotEmpty = new Zend_Validate_NotEmpty();
$validatorNotEmpty->setMessage( \'Регистрируясь вы должны согласится с правилами\',
Zend_Validate_NotEmpty::IS_EMPTY);
$userAgreement = new Zend_Form_Element_Checkbox(\'userAgreement\', array(
\'required\' => true,
\'label\' => \'Регистрируясь, вы должны согласиться с правилами:\',
\'validators\' => array($validatorNotEmpty),
));
无论如何,我从翻译器文件中获取消息,而不是自定义的书面消息文本。
没有找到相关结果
已邀请:
3 个回复
程琶
它会覆盖所有消息,但是在IS_EMPTY情况下,它实际上是一条消息 您可以尝试其他方法,按价值转换 删除
然后
现在您的翻译得到了文字并进行了翻译, 否则,翻译人员使用\'notEmpty \'(
是一个字符串)作为翻译键,而忽略文本'agreeRules \'
醒荒捆府绣
它将为您的元素禁用翻译
瞥同忙接