5

10進数または数値の入力があります。このルールを使用したい:

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

しかし、form_validationヘルパーのルールは「or」ステートメントでは機能しないと思います。価格が「149.99」のようなものであれば有効ですが、価格が「150」の場合はそうではありません。

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

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

3 に答える 3

5

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;
        }
    }
于 2012-04-22T11:48:05.823 に答える
0

The decimal rule requires a parameter to be passed

http://codeigniter.com/user_guide/libraries/form_validation.html#rulereference

于 2012-04-22T11:29:04.890 に答える
-1

この例を使用します(必須| 10進数
$this->form_validation->set_rules('lat', 'Latitude', 'required|decimal')) :;

于 2015-06-16T06:06:47.747 に答える