【问题标题】:customize error message for mimes not working自定义 mime 不工作的错误消息
【发布时间】:2019-04-29 07:15:08
【问题描述】:

我无法为 mimes 自定义错误消息

我尝试laravel 5.4 custom error message for MIME not working?这里给出的解决方案,但没有成功

请求:

public function rules()
{
    $rules =  [
        'album'=> 'required',
        'add_image.*' => 'image|mimes:png|max:2000',
    ];
    return $rules;
}
public function messages()
{
    $messages = [
        'album.required' => 'Album is required',
        'add_image.mimes' => "Image isn't png",
    ];

    return $messages;
}

表单视图:

<form class="addImage" method="post" action="{{route('addImage.form')}}" enctype="multipart/form-data">
    {{csrf_field()}}
    <select name="album">
         <option value="">-----</option>
         @foreach($albums as $album)
             <option value="{{$album}}">{{$album}}</option>
         @endforeach

    </select>
    <input  multiple="multiple" name="add_image[]" type="file" />
    <button class="buttonADM" type="submit">Send</button>
</form>

感谢您的帮助,抱歉我的英语不好

【问题讨论】:

    标签: laravel laravel-5.8


    【解决方案1】:

    你正在验证一个数组,所以试试这个:

    'add_image.*.mimes' => "Image isn't png",
    

    我在我的项目中使用了你的表单,并尝试了这个:

    $valid  = Validator::make(request()->all(), [
        'add_image.*' => 'image|mimes:png'
    ], [
        'add_image.*.mimes' => 'Image isnt png'
    ]);
    
    dd($valid->errors());
    // output
    {
        "add_image.0": [
        "Image isnt png"
      ],
        "add_image.1": [
        "Image isnt png"
      ],
        "add_image.2": [
        "Image isnt png"
      ]
    }
    
    

    我收到了自定义消息。因此,请检查您的错误包是否包含正确的消息,并确保您可以正常打印。

    【讨论】:

    • 您能告诉我您要验证的输入字段的代码吗?
    • 我现在仔细检查了我的一个项目,您可以看到上面的输出。
    【解决方案2】:

    结果不一样

    控制器

    public function addImage(/*addImageRequest $request*/){
    
        if(session('user')['isA'] == 1){
            $valid  = Validator::make(request()->all(), [
                'add_image.*' => 'image|mimes:png'
            ], [
                'add_image.*.mimes' => 'Image isnt png'
            ]);
           dd($valid->errors());
        }
    }
    

    返回:

    MessageBag {#224 ▼
        #messages: array:1 [▼
            "add_image.0" => array:1 [▼
                 0 => "The add_image.0 failed to upload."
            ]
        ]
        #format: ":message"
    }
    

    【讨论】:

    • 上传失败是完全不同的消息。您要上传什么文件类型?文件的类型是否至少是图像,才能通过第一条规则,在 mime 类型之前?
    • 哦,对不起!我要下载的文件是大写字体 .JPG 该文件不被视为带有 .jpg 图像的图像我收到错误消息。很抱歉浪费时间......感谢您的帮助!
    • 您可以接受我的答案作为正确的答案,以帮助其他人,我的朋友。编码愉快。
    猜你喜欢
    • 1970-01-01
    • 2014-02-18
    • 2016-09-03
    • 1970-01-01
    • 2015-09-21
    • 2011-04-27
    • 2018-09-02
    • 2021-09-13
    • 2017-12-24
    相关资源
    最近更新 更多