我有一个用户名字段,我不想接受像{*)&(%^%()_}
这样的字符。我需要将哪些内容添加到表单验证规则中?
$this->form_validation->set_rules('user_name' 'User Name', 'trim|required|min_length[4]|xss_clean');
答案 0 :(得分:5)
请阅读doc。这并不难。
如果要将用户名字符限制为字母和数字,请使用alpha_numeric
规则。
$this->form_validation->set_rules('user_name', 'User Name', 'trim|required|min_length[4]|xss_clean|alpha_numeric');
但是如果您只想限制为字母,请使用alpha
规则。或者,如果要将用户名限制为字母,数字,下划线和短划线,请使用alpha_dash
规则。
答案 1 :(得分:0)
您应该使用回调函数来检查用户名是否与模式匹配:
$this->form_validation->set_rules('username', 'Username', 'username_check');
....
public function username_check($str)
{
if ($str == 'test')
{
$this->form_validation->set_message('username_check', 'The %s field can not be the word "test"');
return FALSE;
}
else
{
return TRUE;
}
}