//TestRequest.php
public function rules()
{
return [
'name' => 'string|required|min:5',
'tip' => 'string|required|min:5',
'answer' => 'string|required',
'image' => 'file|required|mimes:png,jpg,jpeg'
];
}
//TestController.php
public function put(TestRequest $request)
{
$validated = $request->validated();
}
我正在做一些Rest API。我需要一个带有一些文本字段和一个图像上传字段的表单,但是验证时遇到问题。
当我在邮递员中以“表单数据”形式发送请求时,Laravel在验证中看不到任何字段(为什么?)。
当我以application/x-www-form-urlencoded
的身份发送请求时,Laravel看到了我的文本字段,但是我当然不能上传图像。
API将由Android APP使用。我该如何解决?如何同时验证文本和文件输入?
答案 0 :(得分:0)
使用application/x-www-form-urlencoded
是上载图像的正确方法。根据第二张屏幕截图,您不是在Postman中发送文件字段,而是在第一张屏幕截图中发送。
答案 1 :(得分:0)
查看此
'name' => 'string|required|min:5',
最小为5个字符,但您发送test
或4个字符。 Laravel验证规则,如果失败,它将停止,否则将不检查下一个验证。
答案 2 :(得分:0)
我想我已经找到了解决方案。 将方法从PUT更改为POST似乎可以解决此问题。