1

次のコードを使用してフィールドを検証しています。
数が 10 より大きい場合、検証メッセージが表示されます。

less_than[10]  

誰かが 10 を入力すると、検証メッセージも表示されます。
codeIgniter で 10 以下のコードが必要です。

前もって感謝します。

4

4 に答える 4

4

単純に使用するless_than[11] と、10以下のように機能します..

于 2013-07-02T05:36:53.883 に答える
2

less_equalsコントローラーにコールバックを追加できますが、これは非常に一般的なルールであるため、最適なソリューションではないと思います。

  • すべてのコントローラーにコールバック関数を追加する必要があります
  • 何度も書くべきcallback_です。

この問題 (および のような他の一般的なルールis_date) に対する私の解決策は、フォーム検証ライブラリを次のように拡張することです。

作成application/libraries/MY_form_validation.php

class MY_Form_validation extends CI_Form_validation
{
    public function less_equals($str, $min)
    {
        if ( ! is_numeric($str)) return FALSE;
        return $str <= $min;
    }

    //other rules here...
 }

system/languaje/english/form_validation_lang.phpの対応するエラー メッセージで更新less_equalsすれば完了です。これで、他の Codeigniter の既定の検証ルールと同じように機能します。

それが役に立てば幸い!

于 2014-03-17T02:58:59.250 に答える
2

フォーム検証ルールを維持し、form_validationクラスを呼び出すコントローラー内に独自のカスタム コールバック関数を作成します。

public function index()
{
    //...form stuff 

    $this->form_validation->set_rules('number', 'Number', 'callback_less_than_or_equal[10]');

    //...form stuff
}

public function less_than_or_equal($str, $max)
{
    if ( ! is_numeric($str))
    {
        return FALSE;
    }
    return $str <= $max;
}
于 2013-07-02T06:00:27.697 に答える
0

使用できますless_than_equal_to[10]

于 2016-10-03T17:32:47.790 に答える