2014-06-19 66 views
2

我將文本輸入添加到表單中並添加一些規則。 這些輸入不是必需的,但如果我沒有填寫這些字段,我會收到驗證錯誤。Nette表單驗證 - 如何設置字段不是必需的?

例子:

$this->addText('operationID', 'Operation ID:') 
    ->setAttribute('class', 'tf tf-w110px') 
    ->addRule(Nutnet_Form::INTEGER, 'Operation ID must be integer'); 

如何正確設置規則,將接受未填寫operationID場,而不是給Operation ID must be integer錯誤?使用conditions有幫助,但它不舒服。

+1

默認INTEGER驗證需要有效數字。 NULL,空字符串等不是有效的整數。 – hrach

回答

7

使用條件是正確的方法。你爲什麼覺得不舒服?

$this->addText('operationID', 'Operation ID:') 
    ->setAttribute('class', 'tf tf-w110px') 
    ->addCondition(Nutnet_Form::FILLED) 
     ->addRule(Nutnet_Form::INTEGER, 'Operation ID must be integer'); 
相關問題