Codeigniter min_length []不起作用

时间:2011-06-02 18:37:31

标签: php codeigniter frameworks

我有这段代码:

$this->form_validation->set_rules('quadra_numero', 'Quadra número', 'required|trim|numeric|xss_clean|min_length[3]|max_length[3]|callback_valida_quadra_setor');

max_length[3]有效,但不是min_length[3]

我已经使用strlen($quadra_numero)检查了返回的值,它返回了2个字符,但验证似乎忽略了它。

在我的表单中,我的号码是091,在我的数据库中,它是一个VARCHAR来保持0 必要的。

如果我发布0912,它将返回max_length的错误,但如果我将其更改为91将通过验证。

如果我发布09它将起作用,只有删除0(零)它才会起作用。

有什么想法吗?

提前感谢您的帮助。

- 编辑 我试过使用exact_length [8]并得到了相同的结果。问题在于0(零)。

1 个答案:

答案 0 :(得分:2)

乍一看,您可能需要在将变量发送到字符串之前将其变换为字符串。

$quadra_numero = (string)$quadra_numero; 

$quadra_numero = strval($quadra_numero);

看看是否能解决问题。 strlen在检查长度之前将变量转换为字符串,但验证可能不是