laravel在更新时验证唯一字段

laravel在更新时验证唯一字段,laravel,validation,field,Laravel,Validation,Field,我使用的是L5存储库,它有validator包(),但我在更新它时对唯一字段进行验证时遇到了问题,有人能帮我吗 ******下面的例子是我在更新规则时用这种方法尝试的,但没有成功 (((((((我要验证的字段:people_id,email),因为这些字段仅对其余用户是唯一的,而对当前用户而言,它们的更新是唯一的) 在UserService.php中调用验证: 使用Prettus\Validator\Contracts\Validator接口 public __construct

我使用的是L5存储库,它有validator包(),但我在更新它时对唯一字段进行验证时遇到了问题,有人能帮我吗

******下面的例子是我在更新规则时用这种方法尝试的,但没有成功

(((((((我要验证的字段:people_id,email),因为这些字段仅对其余用户是唯一的,而对当前用户而言,它们的更新是唯一的)

在UserService.php中调用验证:

使用Prettus\Validator\Contracts\Validator接口

        public __construct(){
           $this->validator = \App::make('App\Validators\UserValidator');
        }
        save($data){

        if(!empty($data['id'])){

            $this->validator->with($data)->passesOrFail(ValidatorInterface::RULE_UPDATE);

        }else{
            $this->validator->with($data)->passesOrFail(ValidatorInterface::RULE_CREATE);
        }
        }
名称空间应用程序\验证程序

使用\Prettus\Validator\Contracts\Validator接口; 使用\Prettus\Validator\LaravelValidator

类UserValidator扩展了LaravelValidator {

}

更新时,您需要强制唯一规则忽略给定的ID

更新时,您需要强制唯一规则忽略给定的ID


尝试将寄存器的id放入方法setId中

$this->validator->with($data)->setId($id)->passesOrFail(ValidatorInterface::RULE_UPDATE);

尝试将寄存器的id放入方法setId中

$this->validator->with($data)->setId($id)->passesOrFail(ValidatorInterface::RULE_UPDATE);

尝试使用以下更改,它将起作用。 在验证器中添加以下代码以检查唯一电子邮件验证

    ValidatorInterface::RULE_UPDATE => [
                'email'  => 'required|unique:customers,email,id'
            ],
之后,设置验证代码的id,如下所示

    $this->validator->with($request->all())->setId($id)->passesOrFail(ValidatorInterface::RULE_UPDATE);

尝试使用以下更改,它将起作用。 在验证器中添加以下代码以检查唯一电子邮件验证

    ValidatorInterface::RULE_UPDATE => [
                'email'  => 'required|unique:customers,email,id'
            ],
之后,设置验证代码的id,如下所示

    $this->validator->with($request->all())->setId($id)->passesOrFail(ValidatorInterface::RULE_UPDATE);

通过这种方式,请求类的正常使用是成功的,但是对于这个包,它不起作用,我尝试使用页面错误'Symfony\Component\Debug\Exception\FatalErrorException(E_未知)常量表达式包含无效的操作“您能告诉我您是如何触发验证的吗?这样,使用请求类通常是成功的,但使用此包它不起作用,我尝试了页面错误“Symfony\Component\Debug\Exception\FatalErrorException”(E\u未知)常量表达式包含无效操作“你能告诉我你是如何触发验证的吗?在你发布它之前,我用同样的方法找到了解决方案,谢谢你!!!!”!!!!现在,如何在验证规则中引用id?在您发布之前,我以同样的方式找到了解决方案,谢谢!!!!现在如何在验证规则中引用id?