【问题标题】:codeigniter custom form validation wont workcodeigniter 自定义表单验证不起作用
【发布时间】:2013-07-04 17:05:40
【问题描述】:

我有一个输入表单,我想检查一些 user_name 属性。例如,如果用户名只是带有数字的小写字母。我正在使用回调函数,但只给出一个简单的字符串,如“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;
}

【问题讨论】:

  • 你在哪里定义validate_user_name函数?

标签: regex forms codeigniter validation


【解决方案1】:

首先,如果pattern 匹配给定的subject [Reference],则PHP preg_match() 返回1

所以使用=== 1== TRUE 而不是=== true

其次,当/a/模式发生时,回调函数应该返回FALSE,否则返回TRUE

【讨论】:

  • 谢谢我刚开始使用 php ===== 让我有点困惑,我终于创建了我想要的正则表达式,它就像 '/^[a-z][\-\.a-z0-9]*$/' 一样有效!现在:D
猜你喜欢
  • 1970-01-01
  • 2011-12-09
  • 2013-02-28
  • 1970-01-01
  • 1970-01-01
  • 2020-03-28
  • 2012-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多