codeigniter alpha_numeric表单验证不接受空格

时间:2013-09-01 19:13:04

标签: php forms codeigniter validation numeric

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

$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');

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

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

好吧,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');