Как я могу установить пользовательское сообщение об ошибке для правила::в поле в методе проверки в контроллере laravel 8

#laravel #validation

Вопрос:

Я пытался настроить пользовательские сообщения об ошибках для проверки полей в контроллере laravel.

Я установил пользовательские сообщения, но я не могу понять, как создать правило::в полевых условиях.

Я вставляю контроллер ниже .

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

Правило::в поле пользовательское сообщение не отображается ! так что любая помощь будет оценена по достоинству !

Ответ №1:

Попробуй это:

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

Чтобы отобразить все ошибки сразу

 @if($errors-gt;any())  {!! implode('', $errors-gt;all('lt;divgt;:messagelt;/divgt;')) !!} @endif  

Для отображения ошибки в каждом поле.

 @error('firstname')  lt;div class="error"gt;{{ $message }}lt;/divgt; @enderror  

Комментарии:

1. Это определенно может быть использовано для отображения ошибок в файле blade, НО мне это нужно в контроллере, так как это API, и мне нужно отображать сообщения об ошибках в json! поэтому я использовал этот метод реализации пользовательских сообщений об ошибках в самом методе validate ().

2. Поэтому просто добавьте значение переменной $attr в свой json.