【问题标题】:is there any way to validate a field that sometime is File(image) && sometime is String(Src of same image)有什么方法可以验证有时是文件(图像)&&有时是字符串(同一图像的Src)的字段
【发布时间】:2021-05-15 14:53:19
【问题描述】:

我的问题: 我正在使用 laravel 框架 php

我想验证一个字段,我的字段有时是文件(图像),有时是字符串(同一图像的 src)

Laravel 有什么捷径或解决方案吗???

【问题讨论】:

    标签: php laravel validation laravel-validation laravel-request


    【解决方案1】:

    我使用这个代码示例。参加任何对你有用的部分。

    $msg=[
            'name.required'=>'<span class="badge">Name</span> is Required',
            'username.required'=>'<span class="badge">User Name</span> is Required',
            'born.required'=>'<span class="badge">User Name</span> is Required'
        ];
    
    
        $request->validate([
            'name'=>'required|string|min:2|max:30',
            'username'=>'required|string|min:3|max:20',
            'born'=>'required|date',
            'image'=>'nullable|image|mimes:jpg,jpeg,bmp,png'
        ],$msg);
    

    $msg 错误提示

    您应该创建错误页面刀片名称错误包含

    @if($errors->any())
    {!! implode('', $errors->all('<div class="alert alert-danger">:message</div>')) !!}
    @endif
    

    ///

    在包含验证表单的刀片中写入顶部代码

    @include('error')
    

    如果存在任何错误,则包含错误页面以显示错误

    【讨论】:

      【解决方案2】:

      您的问题的具体细节并不完全清楚,但我认为您可以通过执行以下操作来管理您想要的内容:

      $request->validate([
         'stringOrFile' => [
              function ($attribute, $value, $fail) {
                  if (!is_string($value) && !($value instanceof UploadedFile)) {
                      $fail('The '.$attribute.' must either be a string or file.');
                  }
              }
       
         ]
      
      ]);
      
      

      其中UploadedFile 指的是\Illuminate\Http\UploadedFilestringOrFile 指的是您正在验证的输入的名称。

      但是,如果可能的话,根据输入的内容为输入使用不同的名称,这样您就可以对每个不同的输入使用更复杂的验证规则。

      更多关于这些验证规则的细节in the manual

      【讨论】:

      • 我在客户端有一个表单,它向我发送多个字段,其表单的 2 个字段是照片我想在我的程序中编辑我的对象的照片,然后我有一个规则,当客户端不会更新其中一个photo 这意味着这张照片已经更新了,它必须给我发送它的照片的 SRC,然后我想检查他给我发送的 SRC 或文件,只是它
      猜你喜欢
      • 2011-08-12
      • 1970-01-01
      • 2010-09-16
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      相关资源
      最近更新 更多