【问题标题】:How to add a custom Laravel error message when using Rule::in as validation使用 Rule::in 作为验证时如何添加自定义 Laravel 错误消息
【发布时间】:2022-01-03 16:31:29
【问题描述】:

我正在使用一系列机构名称验证 Laravel 中的选择下拉列表。我正在使用 Rule::in() 来执行此操作。验证效果很好,我收到了标准错误消息“所选机构名称无效”。我想将其编辑为自定义错误消息,但很难以与以前相同的方式执行此操作。这是我的代码。

$agencies = Session::get('config.agency-names');
    $agency_names = array();
    for ($x = 0; $x < count($agencies['Agencies']); $x++) {
        $name = $agencies['Agencies'][$x]["AgencyName"];
        array_push($agency_names, $name);
        array_push($agency_names, '');
    }

$request->validate([
        'referral'    => 'required',
        'agency-name' => ['required_if:referral,no', Rule::in($agency_names)],
        'password'    => 'required|min:6|regex:/[A-Z]/|regex:/[a-z]/|regex:/[0-9]/|confirmed'], [
        // New custom agency name message
        agency-name.Rule::in(agency_names) => 'NEW MESSAGE (DOESN\'T WORK)',
        // Custom password messages.
        'password.confirmed' => 'Confirmation password did not match, please try again.',
        'password.regex'     => 'Password does not meet criteria, Please try again.',
        'password.min'       => 'Password does not meet criteria, please try again.',
]);

【问题讨论】:

  • 你试过了吗? '机构名称.in'

标签: php laravel validation


【解决方案1】:

validate 方法中,您有两个参数,一个用于字段输入,另一个用于验证消息。

根据验证类型的验证规则调用验证消息,使用 Rule 对象不会改变这一点。

您必须在代码中添加“agency-name.in”,就像使用 in 验证时一样

$request->validate([
        'referral'    => 'required',
        'agency-name' => ['required_if:referral,no', Rule::in($agency_names)],
        'password'    => 'required|min:6|regex:/[A-Z]/|regex:/[a-z]/|regex:/[0-9]/|confirmed'], [
        // New custom agency name message
       'agency-name.in' => 'NEW MESSAGE ',
        // Custom password messages.
        'password.confirmed' => 'Confirmation password did not match, please try again.',
        'password.regex'     => 'Password does not meet criteria, Please try again.',
        'password.min'       => 'Password does not meet criteria, please try again.',
]);

【讨论】:

    猜你喜欢
    • 2017-05-30
    • 2019-10-28
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2012-05-07
    • 2018-01-12
    • 2017-01-08
    • 2020-10-18
    相关资源
    最近更新 更多