【问题标题】:How can i set custom error message for Rule::in field in validate method in laravel 8 controller如何在 laravel 8 控制器的验证方法中为 Rule::in 字段设置自定义错误消息
【发布时间】:2021-12-29 08:16:46
【问题描述】:

我一直在尝试为 laravel 控制器中的字段验证设置自定义错误消息。

我已经设置了自定义消息,但我不知道如何使 Rule::in 现场工作。

我在下面粘贴控制器。

public function registerNewAnkda(Request $request)
{
    $attr = $request->validate([
        'game_id' => ['required','numeric'],
        'market' => ['required',Rule::in(['Kalyan', 'Time','Ratan','Main','Milan'])],
        'DoN' => ['required',Rule::in(['Day', 'Night'])],
        'OoB' => ['required',Rule::in(['Open', 'Bandh','Jodka'])],
        'type' => ['required',Rule::in(['Ankda'])],
        'selection' => ['required','numeric',Rule::in(['0', '1','2','3','4','5','6','7','8','9'])],
        'stake_amt' => ['required','numeric'],
        'to_win_amt' => ['required','numeric'],
    ],
        //Below code is used to display custom validation error messages!
        [ 'game_id.numeric' => 'The :attribute should be Unique and Numeric ! MSG FOR PINKA !',
          'selection' => 'Rule::in should be Single Number ! E.G - 0,1,2,3,4,5,6,7,8,9'
        ]
        
    );

Rule::in 字段自定义消息未显示!所以任何帮助表示赞赏!

【问题讨论】:

    标签: laravel validation


    【解决方案1】:

    试试这个:

    if($attr->fails()) {
        return Redirect::back()->withErrors($attr);
    }
    

    一次显示所有错误

    @if($errors->any())
        {!! implode('', $errors->all('<div>:message</div>')) !!}
    @endif
    

    在每个字段下显示错误。

    @error('firstname')
        <div class="error">{{ $message }}</div>
    @enderror
    

    【讨论】:

    • 这可以明确地用于显示刀片文件中的错误但我需要在控制器中使用它,因为它是一个 API 并且需要在 json 中显示错误消息!所以我在 validate() 方法本身中使用了这种实现自定义错误消息的方法。
    • 所以只需在你的 json 中添加变量 $attr 的值。
    猜你喜欢
    • 2022-10-13
    • 2022-01-03
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 2014-10-31
    相关资源
    最近更新 更多