как сделать проверку формы laravel без отправки - PullRequest
0 голосов
/ 26 января 2020

Я хочу спросить вас о проверке Laravel, я закончил проверку laravel, но сначала нужно нажать кнопку сохранения данных в форме, прежде чем узнать ошибку ввода в форме и узнать, как мы можем определить ошибку ввода. Вы установили в контроллере, не нажимая сначала кнопку отправки в форме? У меня при отправке появится сообщение об ошибке, если я неправильно введу сообщение об ошибке, которое я всплыл в сладком оповещении

для моего бланка формы

 <form id="formpegawai" class="js-validation-bootstrap" method="post">

                            {{csrf_field()}}
                            <input name="_token" type="hidden" id="_token" value="{{ csrf_token() }}"/>
                            <div class="form-body">
                                <div class="form-group">
                                    {{--<label type="hidden" class="control-label col-md-3">Kode</label>--}}
                                    <div class="col-md-9">
                                        <input name="kode" type="hidden" class="form-control" type="text"
                                               placeholder="Kode">
                                    </div>
                                    <div class="col-md-9">
                                        <input name="user_id" type="hidden" class="form-control" type="text"
                                               placeholder="Kode">
                                    </div>
                                </div>
                                <x></x>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Nama<span class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <input type="text" class="form-control" id="nama" name="nama"
                                               placeholder="Masukan Nama..." required>
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Alamat<span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <input type="text" class="form-control" id="alamat" name="alamat"
                                               placeholder="Masukan Alamat...">
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Tempat Lahir<span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <input type="text" class="form-control" id="tempat_lahir" name="tempat_lahir"
                                               placeholder="Masukan Tempat Lahir...">
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Tanggal Lahir<span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <input type="text" class="js-flatpickr form-control bg-white"
                                               id="Date" name="tgl_lahir"
                                               placeholder="Y-m-d">
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Pendidikan Terkahir<span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <select class="form-control" id="pendidikan_terkahir"
                                                name="pendidikan_terkahir">
                                            <option value="0">Silahkan Pilih</option>
                                            <option value="SMA">SMA</option>
                                            <option value="SMK">SMK</option>
                                            <option value="S1">S1</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Tahun Masuk</label>
                                    <div class="col-md-9">
                                        <input type="text" class="form-control" id="tahun_masuk" name="tahun_masuk"
                                               placeholder="Masukan Tahun Masuk..." readonly>
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">No Telp<span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <input type="number" class="form-control" id="no_telp" name="no_telp"
                                               placeholder="Masukan No Telpon...">
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Jenis Kelamin<span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <select class="form-control" id="jkel" name="jkel">
                                            <option value="0">Silahkan Pilih</option>
                                            <option value="laki-laki">Laki-Laki</option>
                                            <option value="wanita">Wanita</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Jabatan<span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <select class="form-control" id="id_jabatan" name="id_jabatan">
                                            <option value="0">Silahkan Pilih</option>
                                            @foreach ($dataku as $data)
                                                <option value="{{ $data->id }}">{{$data->id }}
                                                    [{{ $data->jabatan}}]
                                                </option>
                                            @endforeach
                                        </select>
                                    </div>
                                </div>
                                <div class="form-group row">
                                    <label class="col-md-3 col-form-label" for="val-name">Status Keaktifan <span
                                                class="text-danger">*</span></label>
                                    <div class="col-md-9">
                                        <select class="form-control" id="status" name="status">
                                            <option value="0">Silahkan Pilih</option>
                                            <option value="aktif">Aktif</option>
                                            <option value="tidak aktif">Tidak Aktif</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="modal-footer">
                                    <button type="button" id="btnSave" onclick="save()" class="btn btn-primary">Save
                                    </button>
                                    <button type="button" onclick="reload();" class="btn btn-danger"
                                            data-dismiss="modal">
                                        Cancel
                                    </button>
                                </div>
                            </div>
                        </form>

для моего кода контроллера

 public function simpanpegawai(Request $req)
    {
        $messages = [
            'nama.required' => 'Field Nama Gak Boleh Kosong',
            'nama.min' => 'Field nama tidak boleh kurang dari 5 kata',
            'nama.regex' => 'Field nama tidak boleh angka',
            'alamat.required' => 'Field Alamat Gak Boleh Kosong',
            'alamat.min' => 'Field alamat tidak boleh 5 kata',
            'tempat_lahir.required' => 'Field tempat lahir harus diisi !',
            'tempat_lahir.regex' => 'field Tempat lahir tidak boleh ada angka',
            'tgl_lahir.required' => 'Field Tanggal Lahir harus diisi !',
            'tgl_lahir.date' => 'Field Tanggal Lahir harus format tanggal!',
            'pendidikan_terkahir.not_in' => 'Field pendidikan terkahir Gak Boleh Kosong',
            'no_telp.required' => 'Field no telpon Gak Boleh Kosong',
            'no_telp.min' => 'Field no telpon Harus minimal 10 ',
            'jkel.not_in' => 'Field jenis kelamin harus diisi !',
            'id_jabatan.not_in' => 'Field jabatan harus diisi !',
            'status.not_in' => 'Field status harus diisi !',
            ];

        $validator = \Validator::make($req->all(), [
            'nama' => 'required|min:5|regex:/^[a-zA-Z]+(([\',. -][a-zA-Z ])?[a-zA-Z]*)*$/',
            'alamat' => 'required|min:5',
            'no_telp' => 'required|min:10',
            'tempat_lahir' => 'required|min:5|regex:/^[a-zA-Z]+(([\',. -][a-zA-Z ])?[a-zA-Z]*)*$/',
            'tgl_lahir' => 'required|date',
            'pendidikan_terkahir' => 'not_in:0',
            'jkel' => 'not_in:0',
            'id_jabatan' => 'not_in:0',
            'status' => 'not_in:0',
        ], $messages);
        if ($validator->fails()) {
            return response()->json(['errors' => $validator->errors()->all()]);
        } else {
            $user = new \App\User;
            $user->name = $req->nama;
            $user->role = $req->id_jabatan;
            $user->username = $req->nama;
            $user->password = bcrypt($req->no_telp);
            $simpan = $user->save();


            $req->request->add(['user_id' => $user->id]);
            $pegawai = \App\PegawaiModel::create($req->all());
            if ($simpan == 1) {

                $status = "Tersimpan";

            } else {
                $status = "Gagal";
            }
            echo json_encode(array("status" => $status));
        }
    }

для моего jquery

$.ajax({
                url: url,
                type: "POST",
                data: $('#formpegawai').serialize(),
                dataType: "JSON",
                success: function (data) {
                    if (data.errors) {

                        jQuery.each(data.errors, function (key, value) {
                            swal({
                                title: "Pesan Eror",
                                text: value,
                                timer: 5000,
                                showConfirmButton: false,
                                type: "error"
                            })
                        });

                    } else {
                        swal({
                            text: data.status,
                            timer: 5000,
                            icon:"success",
                            showConfirmButton: false,
                            type: "error"
                        })
                        $('#modal_form').modal('hide');
                    }
                },
                error: function (request, status, error) {

                }
            });

1 Ответ

0 голосов
/ 26 января 2020

Вы можете дать подтверждение без ссылки на страницу sh. Если вы используете bootstrap, то вы можете легко использовать валидатор. js плагин.

Валидатор. js плагин обеспечивает проверку на стороне клиента без ссылки на страницу sh.

Пример, как вы можете проверить обязательное поле, адрес электронной почты, минимальная длина и т. Д. c.

<html lang="en">
    <head>
        <title>
            Bootstrap Validation example using validator.js
        </title>
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"></link>
        <script src="https://code.jquery.com/jquery-1.12.4.js">
        </script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js">
        </script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.5/validator.min.js">
        </script>
    </head>
    <body>
        <br/>
        <div class="container">
            <div class="panel panel-primary" style="width:750px;margin:0px auto">


              <div class="panel-heading">Bootstrap Validation example using validator.js</div>
              <div class="panel-body">


                <form data-toggle="validator" role="form">


                  <div class="form-group">
                      <label class="control-label" for="inputName">Name</label>
                      <input class="form-control" data-error="Please enter name field." id="inputName" placeholder="Name"  type="text" required />
                      <div class="help-block with-errors"></div>
                  </div>


                  <div class="form-group">
                    <label for="inputEmail" class="control-label">Email</label>
                    <input type="email" class="form-control" id="inputEmail" placeholder="Email" required>
                    <div class="help-block with-errors"></div>
                  </div>


                  <div class="form-group">
                    <label for="inputPassword" class="control-label">Password</label>
                    <div class="form-group">
                      <input type="password" data-minlength="5" class="form-control" id="inputPassword" data-error="must enter minimum of 5 characters" placeholder="Password" required>
                      <div class="help-block with-errors"></div>
                    </div>
                  </div>


                  <div class="form-group">
                      <label class="control-label" for="inputName">BIO</label>
                      <textarea class="form-control" data-error="Please enter BIO field." id="inputName" placeholder="Cina Saffary" required=""></textarea>
                      <div class="help-block with-errors"></div>
                  </div>


                  <div class="form-group">
                      <button class="btn btn-primary" type="submit">
                          Submit
                      </button>
                  </div>
                </form>
              </div>
            </div>
        </div>
    </body>
</html>

Подробнее

Bootstrap Валидатор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...