codeIgniter中的代码小于或等于10

时间:2013-07-02 05:02:01

标签: php codeigniter

我使用以下代码验证我的字段 如果该数字大于10,则显示验证消息。

less_than[10]  

现在如果有人输入10,那么验证信息也会显示 我需要在codeIgniter中使用小于或等于10的代码。

提前致谢。

4 个答案:

答案 0 :(得分:4)

只需使用less_than [11] 它的工作方式可能小于或等于10 ..

答案 1 :(得分: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;
}

答案 2 :(得分: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默认验证规则相同。

希望它有所帮助!

答案 3 :(得分:0)

您可以使用less_than_equal_to[10]