次のコードを使用してフィールドを検証しています。
数が 10 より大きい場合、検証メッセージが表示されます。
less_than[10]
誰かが 10 を入力すると、検証メッセージも表示されます。
codeIgniter で 10 以下のコードが必要です。
前もって感謝します。
次のコードを使用してフィールドを検証しています。
数が 10 より大きい場合、検証メッセージが表示されます。
less_than[10]
誰かが 10 を入力すると、検証メッセージも表示されます。
codeIgniter で 10 以下のコードが必要です。
前もって感謝します。
単純に使用するless_than[11]
と、10以下のように機能します..
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 の既定の検証ルールと同じように機能します。
それが役に立てば幸い!
フォーム検証ルールを維持し、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;
}
使用できますless_than_equal_to[10]
。