【问题标题】:Is it possible to using or in codeigniter form validation?是否可以使用或在 codeigniter 表单验证中使用?
【发布时间】:2012-05-03 07:03:37
【问题描述】:

我有一个可以是十进制或数字的输入。我想使用这条规则:

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

但我认为 form_validation 助手中的规则不适用于“或”语句。如果价格类似于“149.99”,则有效,但如果价格为“150”,则无效。

我错过了什么还是不能使用类似的东西:

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

【问题讨论】:

    标签: php codeigniter codeigniter-2


    【解决方案1】:

    使用(必需|十进制)这个 示例:
    $this->form_validation->set_rules('lat', 'Latitude', 'required|decimal');

    【讨论】:

      【解决方案2】:

      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;
              }
          }
      

      【讨论】:

        【解决方案3】:

        The decimal rule requires a parameter to be passed

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-07
          • 1970-01-01
          • 2018-06-30
          • 1970-01-01
          相关资源
          最近更新 更多