2011-03-28 138 views
0

我怎樣才能擺脫Zend的默認的錯誤不顯示「是必需的價值,不能爲空」Zend Framework的默認錯誤

感謝

我用這個方法:

$this->addElement(
    'text', 
    'testname', 
    array(
     'label' => 'User Name', 
     'required' => true, 
     'filters' => array(
      'StringTrim' 
     ) 
    ) 
); 
+0

你應該傳遞一個有效的值給任何方法/函數拋出錯誤! – 2011-03-28 15:28:54

+0

它可以通過使用'$ element-> setRequired(false);' – tawfekov 2011-03-28 15:37:20

回答

4

如果您需要更改實際的消息文本然後使用這樣的:

$field = new Zend_Form_Element_Text('field'); 
$field ->setRequired(TRUE) 
    ->addValidator(
     'NotEmpty', //validator name 
     FALSE, //do not break on failure 
     array(messages' => array(
       'isEmpty' => 'INSERT CUSTOM MESSAGE HERE' 
      ) 
     ) 
    ) 

在這裏,你改變NotEmpty驗證的「的isEmpty」消息。

或者如果您以不同的方式定義元素。

$element = $this->getElement('text'); 
$element->addValidator('NotEmpty', //validator name 
    FALSE, //do not break on failure 
    array(messages' => array(
      'isEmpty' => 'INSERT CUSTOM MESSAGE HERE' 
     ) 
    ) 
) 
+0

我用這個方法: $這個 - >的addElement( '文字', '測試名稱',陣列( '標籤'=> '用戶名', \t \t '需要'= > true, \t \t'filters'=> array('StringTrim'))); – jayjay 2011-03-28 15:41:41

+0

'required'=> true只是NotEmpty驗證器的代理,如果您需要更改收到失敗時收到的消息,請執行上述操作。 – 2011-03-28 15:48:12

2

在Zend_Form中,這是缺省驗證程序'Empty'的默認錯誤消息。 要刪除此驗證器,所述元件上與「空」添加removeValidator()函數作爲參數:

$element->removeValidator('Empty'); 

這是假設你已經在Zend_Form中一個形式,已發佈了一個空值,並且試圖驗證它?

未來,請提供更多信息。

+1

或者$ element-> setRequired(FALSE)來完成? – 2011-03-28 15:36:41

+1

是的,這作品,以及 – 2011-03-28 15:39:33

+0

我使用的是這樣的:我用這個方法: $這個 - >的addElement(「文字」,「測試名稱」,陣列( 「標籤」 =>「用戶名', \t \t'required'=> true, \t \t'filters'=> array('StringTrim'))); – jayjay 2011-03-28 15:42:45