Codeigniter form validation. Alpha and spaces

No, it does not allow spaces.

Someone wrote a library extension that allows that though: http://ellislab.com/forums/viewthread/158696/#794699


Here is a code that should solve your problem:

function alpha_dash_space($str)
{
    return ( ! preg_match("/^([-a-z_ ])+$/i", $str)) ? FALSE : TRUE;
} 

In the rules, you can call it like follows:

$this->form_validation->set_rules('name', 'Name', trim|xss_clean|callback_alpha_dash_space');

Edit

Removed one extra _ from callback_alpha_dash_space


I know I'm late to answer this. But for those who are still looking for an answer on how to just allow letters and white spaces, you can follow this:

In form validation

$this->form_validation->set_rules('fullname', 'Fullname', 'min_length[7]|trim|required|xss_clean|callback_alpha_dash_space');

Then add a callback function for alpha_dash_space

function alpha_dash_space($fullname){
    if (! preg_match('/^[a-zA-Z\s]+$/', $fullname)) {
        $this->form_validation->set_message('alpha_dash_space', 'The %s field may only contain alpha characters & White spaces');
        return FALSE;
    } else {
        return TRUE;
    }
}
  • ^ and $ Tells that it is the beginning and the end of the string
  • a-z are lowercase letters, A-Z are uppercase letters
  • \s is whitespace and + means 1 or more times.

Hope it helped!

Tags:

Codeigniter