我想优化代码以使其更高效和可扩展。
所以我想将这一部分合并为一个:
if($request->input('logintype') == 'register'){
$validator = Validator::make($request->all(), [
'option.*' => 'required|integer',
'quantity.*' => 'required|integer',
'conditions' => 'required',
'comission' => 'required',
],[
'option.integer' => 'Debe introducir una opción válida',
'quantity.required' => 'Introduzca una cantidad a comprar',
'quantity.integer' => 'Debe introducir una cantidad válida',
'quantity.*.max' => 'Se ha superado el límite máximo de tickets por persona',
'conditions.required' => 'Debe aceptar los Términos y Condiciones',
'comission.required' => 'Debe seleccionar el método de pago',
]);
}
else{
$validator = Validator::make($request->all(), [
'option.*' => 'integer',
'quantity.*' => 'required|integer',
'comission' => 'required',
],[
'option.integer' => 'Debe introducir una opción válida',
'quantity.required' => 'Introduzca una cantidad a comprar',
'quantity.integer' => 'Debe introducir una cantidad válida',
'quantity.*.max' => 'Se ha superado el límite máximo de tickets por persona',
'comission.required' => 'Debe seleccionar el método de pago',
]);
}
我检查了以下代码是否可行:
$validator->sometimes('conditions', 'required', function($request){
return $request->input('logintype') == 'register';
});
但是我不确定如何处理自定义错误消息。
您可以通过向验证器添加额外的注释来实现。
就这样吧
$validator = Validator::make($request->all(), [
'option.*' => 'required|integer',
'quantity.*' => 'required|integer',
'comission' => 'required',
],[
'option.integer' => 'Debe introducir una opción válida',
'quantity.required' => 'Introduzca una cantidad a comprar',
'quantity.integer' => 'Debe introducir una cantidad válida',
'quantity.*.max' => 'Se ha superado el límite máximo de tickets por persona',
'conditions.required' => 'Debe aceptar los Términos y Condiciones',
'comission.required' => 'Debe seleccionar el método de pago',
]);
$validator->sometimes('conditions', 'required', function($request){
return $request->input('logintype') == 'register';
});
您还可以按数组添加多个字段
$validator->sometimes(['conditions','option'], 'required', function($request){
return $request->input('logintype') == 'register';
});
检查此https://laravel.com/docs/5.5/validation#conditionally-adding-rules
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句