如果我将字段的规则设置为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?
答案 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个字符 - 验证将失败。并且字符计数错误将显示在验证错误消息中。