2013-04-08 95 views
1

我剛開始使用zend framework 2.我只是想知道如何在需要ON(true)的元素的表單中自定義消息。現在它顯示「請填寫此字段」(如果特定的文本框是空的,我點擊提交按鈕)。如何在zend framework 2中自定義驗證消息?

我只是想改變這個訊息。最初我以爲這個消息來自圖書館

但我錯了。這可能嗎?

+1

請參閱:http://stackoverflow.com/a/12725061/1053820 – 2013-04-08 12:43:00

+0

可能重複[zendframework 2 inputfilter自定義默認錯誤消息](http://stackoverflow.com/questions/12724653/zendframework-2-inputfilter -customize-default-error-message) – akond 2013-04-08 15:50:55

回答

-2

$ username = $ this-> createElement('text','username');

$username->addErrorMessage('The username is required!'); 
+0

驗證消息是Validator的關注點,而不是Form-Element的關注點。雖然Form \ Element需要知道這些消息,但它不應該處理創建/修改它們。 – Sam 2013-04-08 12:43:33

5

請提供您如何創建表單的方法。最終,你應該簡單地覆蓋Validators的消息。每個驗證器都可以選擇覆蓋消息。基本語法如下:

// This assumes to be INSIDE a Validator 
'options' => array(
    'messages' => array(
     \Zend\Validator\NotEmpty::IS_EMPTY => "Dude, it's empty. It shouldn't be!" 
    ) 
) 

如果沒有給出輸入,該示例將覆蓋NotEmpty驗證器消息。此外,您應該知道,如果您使用HTML5屬性required,那麼某些瀏覽器會向您的表單添加預提交驗證,並且瀏覽器顯示的錯誤消息無法更改。

+0

嗨Sam.I使用表單方法(zend表單)來創建html元素。 是的,我正在使用require屬性。仍然我不覆蓋信息..... – 2013-04-09 04:28:34

+0

正如我所說,一定要將該選項設置驗證。請提供你如何附加驗證器的代碼,我會使其工作;)或者,請參閱其他評論者提供的重複鏈接;) – Sam 2013-04-09 05:59:42

+0

謝謝山姆。這是代碼如何--- $ this-> add(array( 'name'=>'UserName', 'attributes'=> array( 'type'=>'text', 'value' > '', // '所需'=>真, '消息'=> '無效', ) '選項'=>數組( '標籤'=> '用戶名', '消息' =>數組( \ Zend \ Validator \ NotEmpty :: IS_EMPTY =>「夥計,它是空的,它不應該!」, ) ) )); – 2013-04-09 09:02:21

相關問題