Virus Corona (Covid-19)

Dapatkan Informasi terbaru

Contoh Validation Custom Error Messages Pada Laravel

Jackma 17 Jul 2020 3,982


Hari ini, saya akan memberi tahu Anda contoh pesan kesalahan kustom validasi laravel. 
Anda akan belajar validator pesan kesalahan khusus. Pada artikel ini, kami akan mengimplementasikan pesan validasi kustom laravel di controller. Artikel ini masuk secara rinci tentang pesan kesalahan kustom validasi formulir laravel.

Di sini, saya akan menunjukkan kepada Anda tiga cara untuk mengatur pesan kesalahan khusus dengan validasi laravel. kita akan menambahkan pesan kesalahan khusus di laravel 7. kadang-kadang kita perlu mengubah pesan kesalahan validasi laravel bawaan ke miliknya.

jadi, mari kita lihat di bawah ini tiga cara untuk mengubah pesan kesalahan validasi di aplikasi laravel 7.

 

Contoh 1: Using Language File

Contoh 2: Directly in Controller Code

Contoh 3: Using Custom Request

Mari kita lihat satu per satu contoh:

Contoh 1: Menggunakan Language File

Pada poin pertama, kita akan mengatur pesan khusus secara langsung pada laravel set file default. tetapi itu akan berubah di seluruh proyek Anda. Jadi di sini di bawah saya menambahkan kode validasi controller untuk modul pengguna saya seperti di bawah.

UserController.php

namespace App\Http\Controllers;


use Illuminate\Http\Request;
use App\User;


class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $users = User::all();
        return view('users.index', compact('users'));
    }


    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $request->validate([
            'name' => 'required',
            'email' => 'required|email|unique:users,email',
            'password' => 'required|same:confirm_password'
            ]);


        $input = $request->all();
        $input['password'] = bcrypt($input['password']);


        User::create($input);


        return redirect(route('users.index'));
    }
}

Sekarang saya ingin mengubah pesan error validasi saya untuk bidang "name", jadi buka file "validation.php" dan ubah seperti di bawah ini:

....
'custom' => [
        'name' => [
            'required' => 'The :attribute field can not be blank value.',
        ],
    ],
....

Contoh 2: Directly in Controller Code

Pada opsi kedua, kita dapat langsung mengubah dari metode controller, saya pikir jika Anda ingin membuatnya cepat maka opsi ini akan sempurna.

UserController.php

namespace App\Http\Controllers;


use Illuminate\Http\Request;
use App\User;


class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $users = User::all();
        return view('users.index', compact('users'));
    }


    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $request->validate([
            'name' => 'required',
            'email' => 'required|email|unique:users,email',
            'password' => 'required|same:confirm_password'
            ],
            [ 'name.required' => 'The :attribute field can not be blank value.']);


        $input = $request->all();
        $input['password'] = bcrypt($input['password']);


        User::create($input);


        return redirect(route('users.index'));
    }
}

Contoh 3: Menggunakan Custom Request

Pada opsi Ketiga, kita harus membuat permintaan khusus dan kemudian Anda dapat menggunakannya di controller Anda, metode ini adalah cara laravel yang lebih baik, sehingga dapat menjalankan perintah berikut untuk membuat permintaan formulir users.

php artisan make:request UserFormRequest

app/Http/Requests/UserFormRequest.php

namespace App\Http\Requests;


use Illuminate\Foundation\Http\FormRequest;


class UserFormRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }


    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required',
            'email' => 'required|email|unique:users,email',
            'password' => 'required|same:confirm_password'
            ];
    }
    /**
     * Get the error messages for the defined validation rules.
     *
     * @return array
     */
    public function messages()
    {
        return [
            'name.required' => 'The :attribute field can not be blank value',
        ];
    }
}

UserController.php

namespace App\Http\Controllers;


use Illuminate\Http\Request;
use App\Http\Requests\UserFormRequest;
use App\User;


class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $users = User::all();
        return view('users.index', compact('users'));
    }


    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(UserFormRequest $request)
    {


        $input = $request->all();
        $input['password'] = bcrypt($input['password']);


        User::create($input);


        return redirect(route('users.index'));
    }
}

Saya harap Anda menemukan solusi terbaik ....

Tags

laravel tutorial laravel laravel 7

Related Stories


Latest Stories


Close Ads X