2009-09-08 48 views
1

我正在使用INI文件來管理我的Zend_Form元素。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!" 

感謝您的任何幫助。

Jon

回答

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

賓果!感謝羅布艾倫的帖子,我設法弄明白了。正確的INI代碼是:

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

Thanks Rob!

+0

太棒了!我更新了我的回答,以便它不再提供不正確的信息:) – 2009-09-18 16:00:06