0

在 laravel 中使用请求表单,所以我想在存储和更新期间进行不同的验证,当运行存储方法时,照片字段是必需的,但在更新中我不想在照片字段上提供任何验证,可以谁来帮帮我?

这是我的验证规则

class GalleryRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'judul'=>'required|max:255',
            'photo'=>'sometimes|required|image|mimes:jpg,jpeg,png,gif,tif,svg|max:6000',
        ];
    }
}

本质上,我只想使用表单请求在 laravel 中的 store 和 update 之间进行不同的验证

4

1 回答 1

0

我假设 id 在插入/更新时都存在(插入时 id=0,更新时>0),所以基于它你可以在规则函数中做这样的事情:

public function rules()
{
    if($this->inputs['id']<=0)
    {
            return [
               'judul'=>'required|max:255',
          'photo'=>'sometimes|required|image|mimes:jpg,jpeg,png,gif,tif,svg|max:6000',
             ];
    }else{
            return [
               'judul'=>'required|max:255'];
      }
}
于 2021-01-03T09:01:38.690 回答