在我的laravel(5.7(应用程序中,我有一个带有输入字段数组的表单请求。数组"answers"有8个不同的输入字段。到目前为止,我已经能够有一个验证规则来检查每个元素的长度是否至少为10个字符。
class MyFormRequest extends FormRequest
{
public function rules()
{
$rules = [
'answers' =>'required',
'answers.*' =>'required|min:10',
];
}
}
但我想将要求更改为仅适用于4个输入字段,而不考虑顺序。因此,例如,如果用户填写了编号为1,5,6,8的输入字段,每个字段都有10个字符,则尽管字段2,3,4,7为空,但该表单将被接受。我怎样才能做到这一点?我在文档中读到可以使用有时规则,但示例在控制器中使用它,并且我不了解如何在FormRequest类中应用自定义有时规则。
提前感谢!
试试这个;
$rules = [
'answers' => 'required|array|min:4',
'answers.*' => 'sometimes|min:10',
];
意义;
"answers"->answers是一个数组,至少有4个索引,
"answers.*"->在answers数组中,索引应在呈现时进行验证
检查存在时的验证和验证阵列