使用Codeigniter表单验证库,如何确保至少输入一个字母?

时间:2012-02-09 18:56:45

标签: codeigniter validation

我正在使用Codeigniter表单验证。在我的注册表单中,Username字段仅允许 123456 等数字。我不希望这种情况发生。

我的验证规则如下

'rules'=>'trim|required|alpha_numeric|min_length[6]|xss_clean'

我想阻止用户只输入数字字符串。字母数字字符串很好,alpha字符串很好,但纯数字字符串不是。

2 个答案:

答案 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',