0

ユーザーが $、@、& などの特殊文字を追加できないようにフォーム検証を設定したい...英数字のみが許可される

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

スペースを含むカテゴリ名を追加すると、「カテゴリ名フィールドには英数字のみを含めることができます」というエラーが表示されます。スペースや単語なしでカテゴリ名を追加すると、正常に機能します

4

2 に答える 2

1

まあ、alpha_numericスペースを通過させません。を使用する代わりにalpha_numeric、独自の関数を作成してそこに渡すことができます ( Codeigniter フォームの検証。アルファとスペース):

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');
于 2013-09-01T19:58:46.293 に答える