![](/img/trans.png)
[英]Zend Framework 2 - Translate Standard Form Validation and Error messages
[英]Zend Framework 2 - Annotation form, RegEx validation and custom error messages
如上所述,我正在使用GeoPositionFields
。 因為Zend不支持這一點,所以我選擇了標准的RegEx
驗證器。
它工作得很好,但我仍然需要一個自定義錯誤消息 - 任何想法如何實現這一點?
我的例子中的那個什么都沒做......
/**
* @ORM\Column(type="string")
* @Form\Filter({"name":"StringTrim"})
* @Form\Validator({"name":"Regex", "options":{"pattern":"/(-?\d{1,3}\D\d+)[^\d-]+(-?\d{1,3}\D\d+)/"}})
* @Form\ErrorMessage("My custom message")
* @Form\Attributes({"type":"text"})
* @Form\Options({"label":"GeoPos"})
*
*/
protected $geopoint;
即便是這個也只是被忽視了:
@Form\Messages({"regexNotMatch": "My custom message"})
您必須使用選項中的messages
鍵覆蓋默認消息。
試試這個(我想你必須把它修剪成一行才能使注釋起作用;)這取決於你,呵呵。
@Form\Validator({
"name":"regex",
"options":{
"pattern":"/(-?\d{1,3}\D\d+)[^\d-]+(-?\d{1,3}\D\d+)/",
"messages":{
"regexInvalid":"Regex is invalid, Booo!",
"regexNotMatch": "Input doesn't match, bleeeeh!",
"regexErrorous": "Internal error, i'm like wtf!"
}
}
})
每個Validator都有自己的消息。 建議您查看源代碼以找出每個元素中存在的ErrorMessages。 舉個例子,請點擊此鏈接(點擊)查看如何了解消息密鑰。
當使用array-style-syntax創建Annotations之外的表單時,對於像這樣的鍵的statis方法可能會更安全一點
'messages' => array(
\Zend\Validator\Regex::INVALID => "Regex is invalid, Booo!",
//etc...
)
因為字符串 - 至少在理論上 - 總是可以改變,所以常量不會。
/^(\-?\d+(?:\.\d+)?),?\s*(\-?\d+(?:\.\d+)?)$/
此正則表達式驗證並捕獲GEO輸入:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.