首页 文章

Laravel表单数据图像和文本字段验证

提问于
浏览
0
//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();
}

enter image description here

enter image description here

我正在做一些休息API . 我需要一个包含一些文本字段和一个图像上传字段的表单,但我在验证它时遇到问题 .

  • 当我在邮递员中将请求作为'form-data'发送时,Laravel在验证中没有看到任何字段(为什么?) .

  • 当我发送请求时 application/x-www-form-urlencoded Laravel看到我的文本字段,但我当然不能上传图像 .

API将由Android APP使用 . 我怎么能解决这个问题?我如何同时对文本和文件输入进行验证?

3 回答

  • 0

    看到这个

    'name' => 'string|required|min:5',
    

    最小值是5个字符但你发送 test 或4个字符 . Laravel验证规则,如果失败,它将停止或下一次验证将不会被检查 .

  • 0

    使用 application/x-www-form-urlencoded 是上传图像的正确方法 . 根据您的第二个屏幕截图,您不是在Postman中发送文件字段,而是在第一个屏幕截图中发送它 .

  • 0

    我想我找到了解决方案 . 将方法从PUT更改为POST似乎可以解决此问题 .

相关问题