2013-07-18 50 views
1

我正在使用select2插件,所以如果我在客戶端(html5)有錯誤,它顯示我在錯誤的位置,因爲select2插件。 (元素的位置)

我想禁用html5驗證只爲一個特定的元素,但離開後驗證。如何禁用html5驗證?(zend framework2)

$inputFilter = new InputFilter(); 
$this->add(array(
       'name' => 'supplierName', 
       'type' => 'Text', 
       'attributes' => array('id'=>'supplierName','required' => true) 
      )); 
$this->setInputFilter($inputFilter); 
+1

要求應該是''required'=> false' – Dezigo

+0

它適用於兩種驗證規則 – Oyeme

+0

請記住,'attributes'數組與您添加到元素的HTML屬性相匹配;} – Sam

回答

1

禁用驗證你的表單定義:

//例如您的形式設置裏面..

$this->add(array(
    'name' => 'fieldname', 
    'attributes' => array(
     'type' => 'text', 
     'class' => 'something', 
     'required' => FALSE, 
    ), 
    'options' => array 
      'label' => 'Some Field', 
    ), 
)); 

但它留在你的輸入濾波器定義

啓用//在您的輸入濾波器設置中的示例..

$inputFilter->add($factory->createInput(array(
    'name'  => 'fieldname', 
    'required' => TRUE, 
    'filters' => array(
     array('name' => 'Int'), 
    ), 
))); 

這是表單定義,它將決定輸入字段是否獲得所需的屬性。如果當你確認數據(後或什麼都)

我相信這將允許離開領域的空白,而無需使用需要檢查任何客戶方的要求

實際輸入濾波器決定,但會再在執行輸入過濾器驗證檢查時檢查以確保該字段是必需的。

+0

謝謝。 – Oyeme