2013-09-01 4 views
0

я хочу, чтобы установить форму проверки, так что пользователь не может добавлять специальные символы, такие как $, @ &, и т.д. ... только буквенно-цифровые символы позволяютCodeIgniter alpha_numeric форма проверки не принимает пространства

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

, когда я добавить название категории с пробелом, то я получаю следующую ошибку: «Поле« Название категории »может содержать только буквенно-цифровые символы». , когда я добавляю название категории без пробела или одного слова, тогда его рабочий штраф

ответ

1

Ну, alpha_numeric не позволит пропуски проходить. Вместо того чтобы использовать alpha_numeric, вы можете написать свою собственную функцию и передать его там (Codeigniter form validation. Alpha and spaces):

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'); 
+0

я пробовал это, но он добавит специальные символы, такие как бизнес-типы $, теперь я не хочу добавлять ese виды персонажей – user2715321

Смежные вопросы