如何将验证 laravel 控制器传递给 sweet alert swal

how to passing validation laravel controller to sweet alert swal

我第一次在这里尝试甜蜜警报。我想创建一个在 sweet alert 中显示的数据输入错误验证列表,首先我尝试不填充所有文本字段,因此结果将是任何输入错误或未填写文本字段并在 sweet alert 中采样的列表。我已经试过了,但最后他的价值只是一个不屈不挠的数据列表,请帮助我

控制器

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

blade 脚本中的甜蜜警报

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

                }
            });

图片

基本上是因为你的甜心警报都在你的脚里面,现在每次循环递增时都会覆盖该值。要解决此问题,请在循环后移动您的甜蜜警报

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