Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex codeigniter自定义表单验证无法工作_Regex_Forms_Codeigniter_Validation - Fatal编程技术网

Regex codeigniter自定义表单验证无法工作

Regex codeigniter自定义表单验证无法工作,regex,forms,codeigniter,validation,Regex,Forms,Codeigniter,Validation,我有一个输入表单,我想检查一些用户名属性。例如,如果用户名只有小写数字。我正在使用回调函数,但只给出一个简单的字符串,如“a”,它不会返回true。。我真的不明白。我做错了什么 $this->form_validation->set_rules('user_name','User name','required|callback_validate_user_name'); ... if($this->form_validation->run() !== false){

我有一个输入表单,我想检查一些用户名属性。例如,如果用户名只有小写数字。我正在使用回调函数,但只给出一个简单的字符串,如“a”,它不会返回true。。我真的不明白。我做错了什么

$this->form_validation->set_rules('user_name','User name','required|callback_validate_user_name');

...

if($this->form_validation->run() !== false){
    $data['main_content'] = 'pages/news_page';
    $this->load->view('templates/home_body_content', $data);            
} else {
    echo "Damn!";
}

function validate_user_name($user_name){
    if(preg_match('/a/', $user_name) === true){
        return true;
    }
    return false;
}

首先,如果
模式
匹配给定的
主题

因此,请使用
==1
==TRUE
而不是
==TRUE


第二,当出现
/a/
模式时,回调函数应该返回
FALSE
,如果没有,则返回
TRUE

在哪里定义
验证用户名
函数?谢谢,我刚开始使用php,
==
=
让我有点困惑,我终于创建了我想要的正则表达式,它类似于
'/^[a-z][\-\.a-z0-9]*$/'
它可以工作了!目前:D