Validation 如果数据库中存在属性的值,是否有任何类似于unique:in larvel的验证表达式返回true

Validation 如果数据库中存在属性的值,是否有任何类似于unique:in larvel的验证表达式返回true,validation,laravel,laravel-validation,Validation,Laravel,Laravel Validation,是否有任何验证表达式(如Laravel中的unique:),如果数据库中存在:等属性的值,则该表达式将返回true。查看电子邮件属性:- $data=[] $rules= ['email': 'exist_in_database'] $validator=Validator::make($data,$rules); if($validator->passes()){ //do something }else{ //error } ==>唯一:如果值存在,则返回false 如果不存在这样的

是否有任何验证表达式(如Laravel中的unique:),如果数据库中存在:等属性的值,则该表达式将返回true。查看电子邮件属性:-

$data=[]
$rules= ['email': 'exist_in_database']
$validator=Validator::make($data,$rules);
if($validator->passes()){
//do something
}else{
//error
}
==>唯一:如果值存在,则返回false


如果不存在这样的验证,那么如何通过扩展验证程序来实现自定义验证程序?请帮助

是,它的语法是唯一的:表、列、除、idColumn

就你而言

$rules= ['email' => 'unique:users,email'];

对于进一步的文档,请选中。

我使用它来验证任何唯一字段,在这种情况下,属于用户表的电子邮件ID:

 if (!empty($id)) {
     $rules['email'] = 'required|email|min:6|max:75|unique:users,email,' . $id . ',id,deleted_at,0000-00-00 00:00:00';
} 
else {
    $rules['email'] = 'required|email|min:6|max:75|unique:users,email,NULL,id,deleted_at,0000-00-00 00:00:00';
}
回答“如何创建新的验证器”问题。 以下是如何:

Validator::extend('validator_name', function ($attribute, $value, $parameters, $validator){

// whatever code you want here, I suggest you play with the parameters

// below there is an example of validation using regex
  return preg_match('/^[\pL\h]+$/u', $value);
});
要使此代码正常工作,请创建ValidatorServiceProvider并将此代码放入boot()函数中,然后在app.php中注册此提供程序,如下所示:


<> >代码> App\AdvalService Services提供程序::类,

检查<代码>存在< /Cord>规则OK,但这是为了给定自定义列名来检查唯一性,但就问题而言,我需要一个替代此代码作为验证:-考虑它$Ubj=用户::在哪里(“电子邮件”,“=”,$GIVENEMAIL)-> GET();如果($user->exists()){return true;}否则{//not validated}如果不存在这样的验证,那么如何为$rules=['email'=>'exists:users,email']创建自定义验证;行得通