//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();
}
我正在做一些休息API . 我需要一个包含一些文本字段和一个图像上传字段的表单,但我在验证它时遇到问题 .
-
当我在邮递员中将请求作为'form-data'发送时,Laravel在验证中没有看到任何字段(为什么?) .
-
当我发送请求时
application/x-www-form-urlencoded
Laravel看到我的文本字段,但我当然不能上传图像 .
API将由Android APP使用 . 我怎么能解决这个问题?我如何同时对文本和文件输入进行验证?
3 回答
看到这个
最小值是5个字符但你发送
test
或4个字符 . Laravel验证规则,如果失败,它将停止或下一次验证将不会被检查 .使用
application/x-www-form-urlencoded
是上传图像的正确方法 . 根据您的第二个屏幕截图,您不是在Postman中发送文件字段,而是在第一个屏幕截图中发送它 .我想我找到了解决方案 . 将方法从PUT更改为POST似乎可以解决此问题 .