我有一個輸入過濾器,其驗證器配置爲一個電子郵件字段看起來像;自定義Zend Framework 2電子郵件字段驗證器錯誤消息
'validators' => array(
array (
'name' => 'EmailAddress',
'options' => array(
'messages' => array(
'emailAddressInvalidFormat' => "Email address doesn't appear to be valid.",
)
),
),
array (
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
'isEmpty' => 'Email address is required',
)
),
),
),
),
它的工作原理,這部分是好的,但我會在獲得永遠笑了這裏的經營單位,是,如果我拿出那呼嚕此錯誤信息給用戶的應用程序:
輸入不匹配針對圖案
'/^[a-zA-Z0-9.!#$% &' +/=^_`{|}?〜 - ] + @ [A-ZA- Z0-9 - ] +(?:[a-zA-Z0-9 - ] +) $ /'
有一個奇怪的書呆子喜劇埋在那裏(是的,我意識到這是準確的,但,rofl)。
我對這裏的好心人兩個問題:
我怎麼可以自定義錯誤消息?我似乎無法找到正確的鑰匙,因爲我很容易爲'emailAddressInvalidFormat'
。
另外,是否可以將所有錯誤合併爲一個?我的意思是。而不是發佈:
「您的電子郵件模式,就像離開大樓&您的郵箱不能 空白&您的電子郵件不會出現有效」
我可以把一個「單點故障」郵件的消息?
「嗨,請檢查您的電子郵件,有些事情是不正確的!」
感謝您一如既往的幫助。
UPDATE
投票這裏 https://github.com/zendframework/zend-validator/issues/41
爲了避免在發生錯誤時出現多條消息,請添加驗證器''break_chain_on_failure'=> true,'。 – Tounu
我可以使用它與一個單一的錯誤消息?如何指定? – Saeven
這對我來說好像是EmailAddress驗證器中的一個錯誤。我通常只需設置一個消息時要使用的驗證器返回false: '驗證'=>數組( \t \t \t \t \t \t陣列( \t \t \t \t \t \t \t '名稱'=> 'EmailAddress的', \t \t \t \t \t \t \t '選項'=>數組( \t \t \t \t \t \t \t \t '消息'=> '無效電子郵件地址', \t \t \t \t \t \t \t) \t \t \t \t \t \t) \t \t \t \t \t),(注意 '消息' 的單數形式。這個工作除了使用EmailAddress驗證器,它仍然吐出模式匹配消息,它實際上來自正則表達式驗證器(NOT_MATCH)。 – Ruben