php – Zend Framework Validator消息错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Zend Framework Validator消息错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4353字,纯文字阅读大概需要7分钟。
内容图文
![php – Zend Framework Validator消息错误](/upload/InfoBanner/zyjiaocheng/719/b9e94fe9b7dc4f29b2043db9f78a86e1.jpg)
我有与我的表格连接的验证器错误翻译器
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),
));
无论如何,我从翻译文件中获取消息,而不是我的自定义书面消息文本.
解决方法:
尝试
$validatorNotEmpty->setMessages(array('agreeRules'));
它将覆盖所有消息,但在IS_EMPTY情况下,它实际上是一条消息
你可以尝试另一种方法,按价值翻译
删除Zend_Validate_NotEmpty :: IS_EMPTY => ‘Поленеможетбытьпустым’,
$errors=array(
//values
'Value is required and cannot be empty' = > 'My translate',
'agreeRules' => 'My rules'
);
然后
$validatorNotEmpty->setMessages(array(
Zend_Validate_NotEmpty::IS_EMPTY => 'agreeRules'));
现在你的翻译得到文本并进行翻译,
否则翻译者使用’notEmpty'(Zend_Validate_NotEmpty :: IS_EMPTY是一个字符串)来翻译密钥并忽略文本’agreeRules’
内容总结
以上是互联网集市为您收集整理的php – Zend Framework Validator消息错误全部内容,希望文章能够帮你解决php – Zend Framework Validator消息错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。