Проверка модального окна начальной загрузки в laravel

Я работаю с laravel И у меня есть модальная загрузка, я хочу, чтобы поля были обязательными. Я попробовал этот required в своем теге ввода и текстовом поле, и он не работал. Я попытался проверить поля в контроллере, но это не сработает, я знаю, что что-то не так в том, что я делаю. Я просто новичок в Laravel. Помоги мне

это мой модальный

<div class = "modal fade" id = "exampleModalCenter" tabindex = "-1" role = "dialog" 
aria-labelledby = "exampleModalCenterTitle" aria-hidden = "true">
<div class = "modal-dialog modal-dialog-centered" role = "document">
<div class = "modal-content">
    <div class = "modal-header info-color white-text">
        <h4 class = "title">
            <i class = "fa fa-pencil"></i> New Message</h4>
        <button type = "button" class = "close waves-effect waves-light" data-dismiss = "modal" aria-label = "Close">
            <span aria-hidden = "true">×</span>
        </button>
    </div>
    <div class = "modal-body">
      <label for = "defaultFormEmailModalEx">Recipient</label>
      <input type = "email" name = "recipient" id = "defaultFormEmailModalEx" class = "form-control form-control-sm"  autocomplete = "off" v-model = "recipient">
      <br>
      <label for = "defaultFormMessageModalEx">Your message</label>
      <textarea type = "text" name = "newmessage" id = "defaultFormMessageModalEx" class = "md-textarea form-control" v-model = "newMessage"></textarea>
      <div class = "text-center mt-4 mb-2">
          <button class = "btn btn-info" @click = "sendNewMessage">Send
              <i class = "fa fa-send ml-2"></i>
          </button>
      </div>
    </div>
  </div>
</div>

это то, что делают @click = "sendNewMessage"

sendNewMessage(){
  axios.post('http://localhost/sendnewmsg', {
        recipient: this.recipient,
        newMessage: this.newMessage
      })
      .then( (response) => {
        console.info(response.data);
        /*if (response.status===200){
          app.messages = response.data;
          app.privateMsg = response.data;
        }*/

      })
      .catch(function (error) {
        console.info(error);
      });
  this.recipient='';
  this.newMessage='';
},

и это контроллер, я думаю, здесь нужно поставить проверку

public function sendnewmessage(Request $request){
  $recipient = $request->recipient;
  $newmessage = $request->newMessage;

  $checkUser = DB::table('users')->where('email','=', $recipient)->get();
  if ($checkUser->isEmpty()){
    echo 'data doesnt exist';
  }
  else{
    echo 'data exist';
  }
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
1 824
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете передать ручные валидаторы в своей функции sendnewmessage, Пожалуйста, проверьте приведенный ниже код.

public function sendnewmessage(Request $request){

$validator = \Validator::make($request->all(), [
                'recipient' => 'required',
                'newMessage' => 'required',
             ]);

if ($validator->fails())
{
    return response()->json(['errors'=>$validator->errors()->all()]);
}

$recipient = $request->recipient;
$newmessage = $request->newMessage;

$checkUser = DB::table('users')->where('email','=', $recipient)->get();
if ($checkUser->isEmpty()){
    echo 'data doesnt exist';
}
else {
    echo 'data exist';
}
}

И если вы хотите показать ошибки на своем модальном, вы можете написать это в своем модальном

@if ($errors->any())
    <div class = "alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

Надеюсь, это поможет вам прокомментировать, если у вас есть какие-либо вопросы.

вы использовали мой код return response()->json(['errors'=>$validator->errors()->all()]);?

Chirag Patel 09.04.2018 07:59

У меня есть переменные ошибки, и я вижу их в своей консоли, но не могу отобразить их в поле зрения

user8980183 09.04.2018 08:00

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

Chirag Patel 09.04.2018 08:05

хорошо, где мне нужно поместить ошибку внутри формы или снаружи? Я помещаю форму, и она закрывает модальное окно, почему

user8980183 09.04.2018 08:09

Позвольте нам продолжить обсуждение в чате.

Chirag Patel 09.04.2018 08:10

Вот что ты хочешь ...

$this->validate($request, [
    'recipient' => 'required',
    'newmessage' => 'required',
]);

Вот документ для проверки laravel

А чтобы отображать сообщения об ошибках в js, вы можете получить ошибки и сохранить их в переменной

let $errors = response.responseJSON;

Ну, вы просто сохранили его в переменной, вы можете легко выполнить цикл через foreach и добавить его в форму или что-то еще, что вам больше нравится.

AH.Pooladvand 09.04.2018 07:52

Кстати, вы используете ajax и пытаетесь отображать сообщения об ошибках на php, что невозможно, вы должны выполнить его с помощью js ...

AH.Pooladvand 09.04.2018 07:55

Другие вопросы по теме