laravel - Laravel FormRequest 仅在最小数量的输入字段中验证最小字符串长度
问题描述
在我的 laravel (5.7) 应用程序中,我有一个带有输入字段数组的表单请求。数组“答案”有 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 数组中,索引应该在它出现时进行验证
推荐阅读
- python - 自从升级 PyCharm 后,我突然无法运行 server manage.py django
- latex - LaTeX:无论源代码的主要块在哪里,是否可以将图像/表格放置在它们被引用的位置附近?
- python - Pandas - 双向合并多索引
- angular - Angular 客户端应该将用户角色存储在本地存储中吗?
- api - JMeter 在尝试生成 HTML 报告时内存不足
- c++ - QlistView如何更改标准项选择
- google-chrome - 谷歌工作表单元格值更改时谷歌浏览器弹出/推送通知
- javascript - Jquery 函数获取“错误:DevTools 无法加载 SourceMap”导致无限刷新
- matlab - 在报表生成器的应用程序设计器中快照轴 - Matlab
- python - 在Django的模板中传递字典