2012-04-22 47 views
4

我有一個可以是小數或數字的輸入。我想要使​​用這條規則:是否可以使用或在codeigniter表單驗證?

$this->form_validation->set_rules('price', 'Price', 'decimal|numeric'); 

但我認爲form_validation helper中的規則不與「或」語句一起工作。如果價格是這樣的「149.99」,它是有效的,但如果價格是「150」,它不是。

我缺少的東西或者是不是可以使用類似的東西:

$this->form_validation->set_rules('price', 'Price', 'decimal or numeric'); 

回答

4

CI,不允許驗證時,混合數據類型。相反,創建您的自定義驗證規則。

聲明這樣

$this->form_validation->set_rules('price', 'Price', 'callback_decimal_numeric'); 

規則中的控制器上創建一個方法之後

public function decimal_numeric($str) 
    { 
     if ($str <isdecimal&nummeric>) //Use your logic to check here 
     { 
      $this->form_validation->set_message('decimal_numeric', 'The %s field validation has failed'); 
      return FALSE; 
     } 
     else 
     { 
      return TRUE; 
     } 
    } 
0

使用(所需|十進制)此 例如:
$this->form_validation->set_rules('lat', 'Latitude', 'required|decimal');

相關問題