INI配置文件中的Zend_Form验证器自定义错误消息

时间:2009-09-08 21:10:22

标签: zend-framework

我正在使用INI文件来管理我的Zend_Form元素。

这是一个示例.ini文件:

form.action = ""
form.method = "post

form.elements.attribute_name.type = "text"
form.elements.attribute_name.options.label = "Element Name"
form.elements.attribute_name.options.validators.strlen.validator = "StringLength"
form.elements.attribute_name.options.validators.strlen.options.min = "1"
form.elements.attribute_name.options.validators.strlen.options.max = "50"

form.elements.submit.type = "submit"
form.elements.submit.options.name = "Go!"

此元素会将“strlen”错误消息抛出为“XX长度超过50个字符”

我的问题是:如何在INI文件中覆盖此错误消息?

我认为以下可能会奏效,但它什么都不做!

form.elements.attribute_name.options.validators.strlen.options.message = "You Muppet!"

感谢您的帮助。

乔恩

2 个答案:

答案 0 :(得分:5)

我认为您需要选择要覆盖的特定验证消息。

试试这个:

form.elements.attribute_name.options.validators.strlen.options.messages.stringLengthInvalid = "You Muppet!"
form.elements.attribute_name.options.validators.strlen.options.messages.stringLengthTooShort = "You Muppet!"
form.elements.attribute_name.options.validators.strlen.options.messages.stringLengthTooLong = "You Muppet!"

当然,我错了!

答案 1 :(得分:1)

宾果!感谢Rob Allen的帖子,我已经成功解决了这个问题。正确的INI代码是:

form.elements.attribute_page.options.validators.strlen.options.messages.stringLengthTooLong = "You Muppet!"

谢谢Rob!