0

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

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

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

4

2 回答 2

3

利用:

alpha_numeric_spaces

参考:https ://www.codeigniter.com/userguide3/libraries/form_validation.html

于 2017-02-01T20:10:05.707 回答
1

好吧,alpha_numeric不允许空间通过。代替 using alpha_numeric,您可以编写自己的函数并将其传递给那里(Codeigniter 表单验证。Alpha 和空格):

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');
于 2013-09-01T19:58:46.293 回答