0

フィールドのルールを 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 に設定されているというエラーに直面するのでしょうか?

4

2 に答える 2

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 を返します。

于 2013-02-07T21:00:38.050 に答える
0

このフィールドは、フォーム フィールドに 1 つ以上の文字を入力した場合にのみ必要になります。空欄にしておけば合格です。
そのため、IF 検証ルールが必須ではなく、かつユーザーがフォーム フィールドに何も入力していない場合は、パスします。

しかし、フィールドに何かを入力すると、検証ルールが適用されます。たとえば、最小長が 4 の場合、ユーザーが 3 文字を入力すると、検証は失敗します。文字数エラーは検証エラー メッセージに表示されます。

于 2013-02-07T21:48:30.627 に答える