【问题标题】:codeigniter alpha_numeric form validation not accepting spacecodeigniter alpha_numeric 表单验证不接受空格
【发布时间】:2013-09-01 19:13:03
【问题描述】:

我想设置表单验证,以便用户不能添加特殊字符,如 $、@、& 等...只允许使用字母数字字符

$this->form_validation->set_rules('cat_name', 'Category Name', 'trim|xss_clean|required|is_unique[cht_category.cat_name]|min_length[5]|max_length[75]|alpha_numeric');

当我用空格添加类别名称时,我得到以下错误 “类别名称字段只能包含字母数字字符。” 当我添加没有空格或单个单词的类别名称时,它工作正常

【问题讨论】:

    标签: php forms codeigniter validation numeric


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      好吧,alpha_numeric 不允许空格通过。您可以编写自己的函数并将其传递给那里(Codeigniter form validation. Alpha and spaces),而不是使用alpha_numeric

      function alpha_dash_space($str)
      {
          return ( ! preg_match("/^([-a-z_ ])+$/i", $str)) ? FALSE : TRUE;
      } 
      

      然后

      $this->form_validation->set_rules('cat_name', 'Category Name', 'trim|xss_clean|required|is_unique[cht_category.cat_name]|min_length[5]|max_length[75]|callback__alpha_dash_space');
      

      【讨论】:

      • 我已经尝试过了,但它会添加特殊字符,例如业务类型 $ 现在我不想添加这些类型的字符
      猜你喜欢
      • 1970-01-01
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 2016-03-20
      相关资源
      最近更新 更多