【发布时间】:2020-06-16 05:09:17
【问题描述】:
当我在控制器中验证 电话号码 时,它正在工作,但它增加了代码行数,我还必须编写回调函数,但我不想编写回调,而不是我想在模型中做,有什么办法吗??
'phone' =>['required',"regex:/^\(?[\d]{3}\)?[\s-]?[\d]{3}[\s-]?[\d]{4}$/",function($attribute, $value, $fail) use($id) {
if (strpos($value, "-") !== false) {
$exist = User::where([["phone", $value],["id","!=",$id]])->count();
if($exist){
$fail(ucwords($attribute).' is already taken.');
}else{
$result = User::where([["phone", str_replace("-","",$value)],["id","!=",$id]])->count();
($result) ? $fail(ucwords($attribute).' is already taken.') : "";
}
}else{
$exist = User::where([["phone", $value],["id","!=",$id]])->count();
if($exist){
$fail(ucwords($attribute).' is already taken.');
}
}
},],
【问题讨论】:
标签: php laravel php-7.2 laravel-6.2