Codeigniter表单验证规则 - required / min_length

时间:2013-02-07 20:55:29

标签: codeigniter validation

如果我将字段的规则设置为min_length [3],但没有传递字段的值,因为它不是必填字段,是否会引发错误?

例如:

array(
'field' => 'first_name',
'label' => 'First Name',
'rules' => 'min_length[2]'
),
array(
'field' => 'last_name',
'label' => 'Last Name',
'rules' => 'required|min_length[2]'
),

所以我的问题是,即使FirstName没有用户输入的值,我仍然会面临一个错误,min_length被设置为2?

2 个答案:

答案 0 :(得分:0)

是。来自codeigniter doc

min_length  Yes Returns FALSE if the form element is shorter then the parameter value.  min_length[6]

如果FirstName没有输入值,则其长度将为0,这比参数值(2)短。因此,它将返回FALSE。

答案 1 :(得分:0)

只有在表单字段中放入一个或多个字符时才需要该字段。如果他们留空,它将通过。
因此,如果验证规则没有必需并且用户没有在表单字段中放置任何内容 - 它将通过。

但如果他们在现场输入某些东西 - 那么验证规则就适用了。例如,如果您的最小长度为4,如果用户输入3个字符 - 验证将失败。并且字符计数错误将显示在验证错误消息中。