我正在使用一組代理名稱驗證 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.',
]);
uj5u.com熱心網友回復:
在validate方法中,您有兩個引數,一個用于欄位輸入,另一個用于驗證訊息。
根據具有驗證型別的驗證規則呼叫驗證訊息,使用 Rule 物件不會改變它。
在您的代碼中,您必須像使用in驗證一樣添加“agency-name.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.',
]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/368818.html
