[英]How to customize form validation messages in ZF3
如果我沒有在輸入過濾器中指定驗證器,我應該在ZF3的哪里定制表單驗證消息?
如果我使用ZF3文檔中提供的代碼,如下所示,則'required' => true,
參數將在表單驗證時使formElementErrors()
幫助程序在表單驗證時呈現消息"Value is required and can't be empty"
輸入留空。 我想更改該消息,但不知道在哪里更改。 我知道,如果我在輸入過濾器中定義了驗證器,則可以在那里為我定義的驗證器自定義消息。 但是'validators' => [],
如ZF3示例所示,如果我離開'validators' => [],
在哪里定義消息?
return [
'input_filter_specs' => [
'foobar' => [
[
'name' => 'name',
'required' => true,
'filters' => [
[
'name' => 'Zend\Filter\StringTrim',
'options' => [],
],
],
'validators' => [],
'description' => 'Hello to name',
'allow_empty' => false,
'continue_if_empty' => false,
],
],
],
];
在Zend\\InputFilter\\Input
類中的prepareRequiredValidationFailureMessage
方法中,如果元素是必需的(如果尚未存在),則NotEmpty
驗證器會自動附加到該元素的驗證器鏈。 這意味着,如果在輸入過濾器配置中附加了NotEmpty
驗證程序,則可以自己定義錯誤消息。 標准消息在NotEmpty
驗證器中定義為NotEmpty::IS_EMPTY
常量。
return [
'input_filter_specs' => [
'foobar' => [
[
'name' => 'name',
'required' => true,
'filters' => [
[
'name' => StringTrim::class,
'options' => [],
],
],
'validators' => [
[
'name' => NotEmpty::class,
'options' => [
'messages' => [
NotEmpty::IS_EMPTY => 'Your message here',
],
],
],
],
'allow_empty' => false,
'continue_if_empty' => false,
],
],
],
];
在NotEmpty
驗證程序的選項中,可以定義要在失敗時顯示的消息。
另一種方法可以是NotEmpty
驗證程序的翻譯器。 如果您為應用程序使用翻譯,則可以為錯誤消息設置單獨的短語。 在這種情況下,您不必在輸入過濾器規范中提及NotEmpty
驗證器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.