2012-04-22 10 views
4

私は10進数または数値の入力を持っています。私はこのルールを使用したい:codeigniterフォームの検証を使用することは可能ですか?

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

しかし、私は "or"ステートメントで動作しないform_validationヘルパーのルールだと思います。価格が "149.99"のようなものなら有効ですが、価格が "150"の場合はそうではありません。

は、私が何かをしないのですか、それはそのような何かを使用することはできません。

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

答えて

4

CIを、検証時にデータ型を混在させることはできません。代わりに、カスタム検証規則を作成します。

後、コントローラに

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('price', 'Price', 'callback_decimal_numeric'); 

ようなルールを宣言し(必要を|小数)本 例:
$this->form_validation->set_rules('lat', 'Latitude', 'required|decimal')と、