как пройти валидацию laravel контроллера для сладкого оповещения swal - PullRequest
0 голосов
/ 22 января 2020

Я впервые попробовал сладкое оповещение здесь. Я хочу создать список проверки ошибок ввода данных, отображаемый в виде «сладкого оповещения», сначала я попытался не заполнять все текстовые поля, чтобы в результате получился список того, что неправильно введено или не заполнено в текстовом поле, и было выбрано «сладкое оповещение». Я пытался, но только в последний раз его значение это просто список несгибаемых данных, пожалуйста, помогите мне

контроллер

 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));
        }
    }

сладкое предупреждение в скрипте лезвия

$.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) {

                }
            });

картинка enter image description here

1 Ответ

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

В основном потому, что ваш подсластитель находится внутри вашего пола, теперь значение перезаписывается при каждом увеличении l oop. Чтобы решить эту проблему, переместите ваше сладкое предупреждение после вашего l oop

if(data.errors) {
    var values = '';
    jQuery.each(data.errors, function (key, value) {
         values += value
    });

    swal({
        title: "Pesan Eror",
        text: values,
        timer: 5000,
        showConfirmButton: false,
        type: "error"
    })
}
...