laravel 在update更新时 Validator验证如何验证unique唯一字段是否有修改 以及使用put时 不会触发Validator验证类的问题

[laravel Validator验证坑一]:

    在使用put请求更新数据的时候Validatator是不会触发的,将put修改为了post之后Validator才能触发验证

[laravel Validator验证坑二]:

    在更新数据时候如果想要判断唯一的字段  如: 用户手机号码、邮箱等该如何处理呢?
    say: 仔细查看过laravel手册的人都知道 这一点laravel已经帮我们处理了,
    但是部分同学或许是由于粗心没有看到这一块的内容。具体看下方:
      
    ## 首先Validator中的 $rules默认是用 protected修饰的, 在update情况下,将$rules的修饰符修改为       
     public class DemoUpdateValidator extends BaseValidator
      {
          public $rules = [];
          protected $messages = [];
          protected $attributes = [];
      }    
   ## 然后在需要调用该DemoUpdateValidator的地方 定义 rules内容
    $demoUpdateVali= new DemoUpdateValidator();
    $demoUpdateVali->rules = [
        'user_number' => [ // 编号
            'required',
            Rule::unique('user表名')->ignore('要更新的字段id'),
        ],
        'mobile'          => [ // 手机号码
            'required',
            Rule::unique('用户表名')->ignore($this->data['id']),
            'numeric'
        ],
    ];
    $demoUpdateVali->check();

你可能感兴趣的:(laravel 在update更新时 Validator验证如何验证unique唯一字段是否有修改 以及使用put时 不会触发Validator验证类的问题)