【发布时间】:2018-01-12 05:54:30
【问题描述】:
我很难找到问题的答案,而且我的测试并没有被证明是有用的。所以也许这里有人会遇到我面临的同样问题。
我的输入具有以下类型的模式名称projects-0-1、project-0-2、project-1-0 等等... 这些是文件输入,因此人们可以上传文档/图像.
因此,基本上,我一直在尝试获取(理想情况下)类似的验证消息:
$validator->getMessageBag()->add('project-*-*', 'File is empty!');
或
$validator->getMessageBag()->add('project-*', 'File is empty!');
我已经尝试了几件事,但似乎没有任何效果。
我要添加自定义消息的原因是,如果 $request 对象为空,则根本不会验证该文件。所以我首先需要检查$request->hasFile 是否存在,如果它不想添加错误消息。
需要考虑的事项:
输入可以动态添加到表单中,所以我不知道我需要事先验证的文件输入的确切数量。
即使这不应该影响代码和验证,值得注意的是,当我将表单嵌入另一个网站时,一切都是通过 ajax 发生的。因此我创建了端点等...
有什么提示吗?
【问题讨论】:
-
你试过这样
'file.*.mimes' => 'Only PDF, JPEG, PNG are allowed.',stackoverflow.com/a/45188623/5148479 -
是的,我尝试了所有爵士乐,但没有帮助。我对验证本身没有问题,但是当这些不是请求的一部分时,将错误消息与文件输入相匹配,因为在提交表单时它们仍然是空的。
-
我基本上需要的是在我的规则数组中的输入名称中放置一个通配符:
$globalRules = [ ... 'project_documents-0-0' => 'required|file', ... ];我希望最后的规则能够匹配破折号后 0-9 之间的任何数字..所以我认为这样的事情会做:'project_documents-*-*' => 'required|file',但实际上它不会..
标签: laravel validation file-upload