Welcome Guest, Not a member yet? Register   Sign In
Edit validation problem
#1

[eluser]jiahui[/eluser]
I am working on mine Edit application.

For example :

As codeigniter tutorial described, if want check whether is username available to use we can set a callback_username_check function at set_rules query there and then set username_check function after that.

My question is, how can I pass $userId in function username_check? Please help.

Code:
// --------------------------------------------------------------------

    function _validation()
    {
        $rules['firstname']     = 'trim|required|min_length[2]|max_length[50]|htmlspecialchars';
        $rules['lastname']         = 'trim|required|min_length[2]|max_length[50]|htmlspecialchars';
        $rules['email']         = 'trim|required|htmlspecialchars|valid_email|max_length[100]';
        $rules['username']         = 'trim|required|htmlspecialchars|max_length[100]|callback_username_check';
        $rules['password']             = 'trim|required|min_length[6]|matches[password_confirm]';
        $rules['password_confirm']         = 'trim|required|htmlspecialchars|min_length[6]|';
        $this->validation->set_rules($rules);

        $fields['firstname']     = $this->lang->line('user_first_name');
        $fields['lastname']         = $this->lang->line('user_last_name');
        $fields['email']     = $this->lang->line('user_email');
        $fields['username']     = $this->lang->line('user_username');
        $fields['password']         = $this->lang->line('user_password');
        $fields['password_confirm']     = $this->lang->line('user_password');
        $this->validation->set_fields($fields);

        $this->validation->set_error_delimiters('<span class="error">', '</span>');
    }
    
// --------------------------------------------------------------------
    function username_check($str)
    {
    
        $SQL="select * from user where username='".$str."' and id <> '".$userId."'";
        $rs = mysql_query($SQL) or die(mysql_error());
        if(mysql_num_rows($rs) > 0)
        {        
            $this->validation->set_message('username_check', $str.' is already in use');
            
            return FALSE;
            
        }else{
        
            return TRUE;
        }
    
    }


Messages In This Thread
Edit validation problem - by El Forum - 11-26-2009, 04:14 AM
Edit validation problem - by El Forum - 11-26-2009, 04:33 AM
Edit validation problem - by El Forum - 11-26-2009, 07:28 AM
Edit validation problem - by El Forum - 11-29-2009, 10:06 PM



Theme © iAndrew 2016 - Forum software by © MyBB