Laravel FormRequest仅在最小数量的输入字段中验证最小字符串长度



在我的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数组中,索引应在呈现时进行验证

检查存在时的验证和验证阵列

相关内容

  • 没有找到相关文章

最新更新