使用 Rule::in 作为验证时如何添加自定义 Laravel 错误消息
How to add a custom Laravel error message when using Rule::in as validation
我正在使用一系列机构名称验证 Laravel 中的 select 下拉菜单。我正在使用 Rule::in() 来执行此操作。验证工作正常,我收到了标准错误消息 'The selected agency-name is invalid'。我想将它编辑成一条自定义错误消息,但我很难像以前那样做。这是我的代码。
$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.',
]);
在 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.',
]);
我正在使用一系列机构名称验证 Laravel 中的 select 下拉菜单。我正在使用 Rule::in() 来执行此操作。验证工作正常,我收到了标准错误消息 'The selected agency-name is invalid'。我想将它编辑成一条自定义错误消息,但我很难像以前那样做。这是我的代码。
$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.',
]);
在 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.',
]);