我正在使用Codeigniter表单验证。在我的注册表单中,Username
字段仅允许 123456 等数字。我不希望这种情况发生。
我的验证规则如下
'rules'=>'trim|required|alpha_numeric|min_length[6]|xss_clean'
我想阻止用户只输入数字字符串。字母数字字符串很好,alpha字符串很好,但纯数字字符串不是。
答案 0 :(得分:3)
仅允许字母
将alpha
添加到您的规则中,然后从规则中删除alpha_numeric
您可以使用this page作为内置验证规则的参考点。
修改强>
因为你现在已经澄清了。
为实现这一目标,没有内置的验证规则。您需要通过创建Form_validation
文件来扩展libraries/MY_Form_validation.php
库。有关如何扩展库的信息,请参阅this manual page。
在此文件中,创建以下功能
function at_least_one_letter($string) {
return preg_match('#[a-zA-Z]#', $string);
}
然后,您可以将验证规则at_least_one_letter
添加到规则中。
答案 1 :(得分:1)
根据codeigniter user manual:
您还可以使用允许一个参数的任何本机PHP函数。
我认为在这种情况下is_int
可以用作验证规则。
所以,例如:
'rules'=>'trim|required|is_int|min_length[6]|xss_clean',