我很难找到我的问题的答案,而我的测试没有证明是有用的。所以也许这里有人会遇到我面临的同样的问题。Laravel 5.4:动态验证规则
我有以下种图案名称输入projects-0-1
,project-0-2
,project-1-0
等等...... 这些文件输入,使人们可以上传文档和/或图像。
所以基本上,我一直试图让会(理想)是类似的东西验证消息:
$validator->getMessageBag()->add('project-*-*', 'File is empty!');
OR
$validator->getMessageBag()->add('project-*', 'File is empty!');
我试了几件事情已经和似乎没有任何工作。
我得到添加自定义消息的原因是该文件仅在$request
对象为空时根本未验证。所以我首先需要检查$request->hasFile
是否和我不想添加错误信息。
需要考虑的事情:
输入可动态添加到形式,所以我不知道我需要事先验证文件输入的确切人数。
即使这不应该影响代码和验证,值得注意的是,当我将表单嵌入到另一个网站时,所有事情都是通过ajax发生的。因此我创建了端点等...
任何提示?
你试过像这个''file。*。mimes'=>'只允许PDF,JPEG,PNG。','https://stackoverflow.com/a/45188623/5148479 – Hari
是的,我尝试了所有爵士乐,它并没有帮助。我没有验证本身的问题,但是当它们不是请求的一部分时,将错误消息与文件输入相匹配,因为当表单提交时它们保持为空。 – daneczech
我基本上需要的是把一个通配符输入名字在我的规则阵列: '$ globalRules = [ ... 'project_documents-0-0'=> '需要|文件', ... ]' 我希望最后的规则,能够在破折号后0-9之间匹配任意数量的.. 因此,我认为这样的事情会做: '“project_documents - * - *” => 'required | file','但的确不是。 – daneczech