我有这段代码:
$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(零)。
答案 0 :(得分:2)
乍一看,您可能需要在将变量发送到字符串之前将其变换为字符串。
$quadra_numero = (string)$quadra_numero;
或
$quadra_numero = strval($quadra_numero);
看看是否能解决问题。 strlen在检查长度之前将变量转换为字符串,但验证可能不是