Laravel带有条件和自定义错误消息的规则

特朗

我想优化代码以使其更高效和可扩展。

所以我想将这一部分合并为一个:

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';
});

但是我不确定如何处理自定义错误消息。

Bibhudatta Sahoo

您可以通过向验证器添加额外的注释来实现。
就这样吧

$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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何有条件地验证 Laravel 中的自定义规则?

通过带有条件的自定义属性和其次自定义属性 desc 订购 swift 数组

Magento 自定义模块上带有条件输入的动态菜单配置部分

将带有条件的自定义函数传递给 dplyr::mutate

按具有条件和自定义键的对象数组分组

jQuery验证自定义方法规则和带有动态名称的消息?

Laravel验证规则的自定义错误消息:尺寸

如何在 Spring Boot 中有条件地返回自定义响应正文和状态?

带有错误代码和错误消息的自定义Python异常

Laravel:自定义规则的验证消息

如何有条件地显示带有tailwindcss的错误消息?

带有条件规则的复制/过去格式

在 Angularjs 中显示带有图标和自定义消息的错误

带有消息的自定义错误代码页

在 WooCommerce 自定义产品页面上有条件地添加自定义内容

在Woocommerce上通过简码有条件地显示自定义库存数量

在有条件的情况下在keras中实现自定义损失功能

有条件地使用自定义中间件

有条件地捕获闭包中的变量以实现自定义控件

如何通过注释有条件地使用自定义JsonSerializer

信息图有条件地填充自定义SVG形状

使用自定义颜色有条件地突出显示数据点

用于有条件地渲染包装器元素的自定义指令

使用Firebase自定义声明有条件地在React Native中呈现UI

在WooCommerce中取消有条件的自定义结帐字段

有条件地自定义WooCommerce结帐字段

自定义Keras损失函数,有条件地创建零梯度

具有条件返回值的自定义损失

根据用户输入有条件地启用自定义转换器