Intereting Posts
php preg_split не распознает пробелы Программно определить, следует ли описывать объект с помощью «a» или «an»? нам нужно перезапустить apache + APC после развертывания новой версии приложения? uploadify & PHP – загрузить проблему отмены и обновления страницы Производительность: если else vs switch, а vs for, для каждого vs for, print vs printf Существуют ли какие-либо учебники по xampp + php + openssl howto для простой формы? отправлять только полевые поля. если пустые, то не отправляйте по электронной почте. php для отправки по электронной почте Выпадающий выберите, чтобы изменить второй снимок, выберите автоматически PHP PDO: Charset = UTF8: недопустимая фраза chacheet была указана в строке dsn Как отправить динамическую таблицу HTML как почту в php? parse_url () возвращает ошибку, когда example.com передается API-интерфейс Google Drive PHP – как передать большой файл Могу ли я разработать отдельные API-вызовы с помощью php для мобильного приложения, используя сайт wordpress? HTML-фильтр, совместимый с HTML5 PHP – Сообщение теряется после 70-й переменной в массиве

Как заставить проверенный валидатор Laravel добавлять ошибки в поле подтверждения?

По умолчанию проверенный валидатор Laravel добавляет сообщение об ошибке в исходное поле, а не в поле, которое обычно содержит подтвержденное значение.

'password' => 'required|confirmed|min:8', 

Есть ли простой способ расширить валидатор или использовать какой-либо трюк, чтобы заставить его всегда показывать ошибку в поле подтверждения вместо исходного поля?

Если я не могу дважды ввести свой пароль, ошибка кажется более подходящей для поля подтверждения, а не для исходного поля пароля. Или, может быть, это просто наш аналитик UX, получающий nitpicky …

Related of "Как заставить проверенный валидатор Laravel добавлять ошибки в поле подтверждения?"

Один из способов сделать это – использовать same правило, а не confirmed

 // ... $input = Input::all(); $rules = [ 'password' => 'required|min:8', 'password_confirmation' => 'required|min:8|same:password', ]; $messages = [ 'password_confirmation.same' => 'Password Confirmation should match the Password', ]; $validator = Validator::make($input, $rules, $messages); if ($validator->fails()) { return back()->withInput()->withErrors($validator->messages()); } // ... 
 $rules=[ 'username'=>'required|max:20', 'password1'=>'required|min:8', 'password2'=>'required|min:8|same:password1', ]; $error_messages=[ 'password2.same'=>'password are not the same password must match same value', 'password1.min'=>'password length must be greater than 8 characters', 'password2.min'=>'confirm-password length must be greater than 8 characters', ]; $validator= validator($request->all(), $rules, $error_messages); if ($validator->fails()) { return redirect('control_pannel/change_password') ->withErrors($validator) ->withInput(); } не $rules=[ 'username'=>'required|max:20', 'password1'=>'required|min:8', 'password2'=>'required|min:8|same:password1', ]; $error_messages=[ 'password2.same'=>'password are not the same password must match same value', 'password1.min'=>'password length must be greater than 8 characters', 'password2.min'=>'confirm-password length must be greater than 8 characters', ]; $validator= validator($request->all(), $rules, $error_messages); if ($validator->fails()) { return redirect('control_pannel/change_password') ->withErrors($validator) ->withInput(); } 

Одно из решений, которое быстро приходит на ум, – это просто отобразить ошибки password_confirmation поле password_confirmation .

Если это не сработает для вас, просто пометьте поле password_confirmation как пароль и поле password как подтверждение пароля, чтобы при наличии ошибок он отображался рядом с меткой password_confirmation а не меткой password .

В противном случае нетрудно добавить свой собственный метод проверки.