Php 基于用户类型设置laravel验证器
如何根据用户类型设置验证器?我试过了,但效果不好 按用户类型添加规则数组,最后放入规则Php 基于用户类型设置laravel验证器,php,laravel,Php,Laravel,如何根据用户类型设置验证器?我试过了,但效果不好 按用户类型添加规则数组,最后放入规则 public function register(Request $request){ $validator = \Validator::make($request->all(), [ 'first_name' => 'required|min:3', 'email' => 'required|email|max:255|unique:users'
public function register(Request $request){
$validator = \Validator::make($request->all(), [
'first_name' => 'required|min:3',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required',
'address' => 'required',
'phone_number' => 'required',
]);
if($request->user_type == 1 ){
$validator = \Validator::make($request->all(), [
'dob' => 'required'
]);
}
if($request->user_type == 2 ){
$validator = \Validator::make($request->all(), [
'doctor_practice' => 'required'
]);
}
// then, if it fails, return the error messages in JSON format
if ($validator->fails()) {
return response()->json($validator->messages(), 401);
}
按用户类型添加规则数组,最后放入规则
public function register(Request $request){
$validator = \Validator::make($request->all(), [
'first_name' => 'required|min:3',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required',
'address' => 'required',
'phone_number' => 'required',
]);
if($request->user_type == 1 ){
$validator = \Validator::make($request->all(), [
'dob' => 'required'
]);
}
if($request->user_type == 2 ){
$validator = \Validator::make($request->all(), [
'doctor_practice' => 'required'
]);
}
// then, if it fails, return the error messages in JSON format
if ($validator->fails()) {
return response()->json($validator->messages(), 401);
}
使用嵌入式验证机制更好、更正确
$rules = [
'first_name' => 'required|min:3',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required',
'address' => 'required',
'phone_number' => 'required',
];
if($request->user_type == 1 ){
$rules['dob'] = 'required';
}else if($request->user_type == 2 ){
$rules['doctor_practice'] = 'required';
}
$validator = \Validator::make($request->all(), $rules);
if ($validator->fails()) {
return response()->json($validator->messages(), 401);
}
这在中进行了描述
如果:另一个字段,值
如果另一个字段等于任何值,则验证中的字段必须存在且不为空
使用嵌入式验证机制更好、更正确
$rules = [
'first_name' => 'required|min:3',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required',
'address' => 'required',
'phone_number' => 'required',
];
if($request->user_type == 1 ){
$rules['dob'] = 'required';
}else if($request->user_type == 2 ){
$rules['doctor_practice'] = 'required';
}
$validator = \Validator::make($request->all(), $rules);
if ($validator->fails()) {
return response()->json($validator->messages(), 401);
}
这在中进行了描述
如果:另一个字段,值
如果另一个字段等于任何值,则验证中的字段必须存在且不为空
是的,但是拼写错误我做了,不过谢谢你们的支持。是的,但是拼写错误我做了,不过谢谢你们的支持。