Rumah  >  Artikel  >  rangka kerja php  >  Petua Praktikal: Menyesuaikan Peraturan Pengesahan Bahasa Cina dalam Laravel

Petua Praktikal: Menyesuaikan Peraturan Pengesahan Bahasa Cina dalam Laravel

PHPz
PHPzasal
2024-03-06 22:09:03597semak imbas

Petua Praktikal: Menyesuaikan Peraturan Pengesahan Bahasa Cina dalam Laravel

Semasa proses pembangunan Laravel, dalam keadaan biasa, kami akan menggunakan peraturan pengesahan lalai yang disediakan oleh rangka kerja untuk mengesahkan data yang dimasukkan pengguna, tetapi kadangkala kami perlu menyesuaikan beberapa peraturan pengesahan khusus untuk memenuhi keperluan perniagaan. Artikel ini akan memperkenalkan cara menyesuaikan peraturan pengesahan Cina dalam Laravel dan memberikan contoh kod khusus.

1. Fahami kelas Validator

Peraturan pengesahan Laravel semuanya dilaksanakan melalui kelas Pengesah. Kelas Pengesah menyediakan satu siri kaedah untuk mengesahkan peraturan Kami boleh melaksanakan peraturan pengesahan tersuai dengan mewarisi kelas Pengesah dan menambahkan kaedah peraturan tersuai.

2. Cipta peraturan pengesahan tersuai

Pertama, kami perlu mencipta Penyedia Perkhidmatan untuk mendaftarkan peraturan pengesahan tersuai kami. Jalankan arahan berikut dalam baris arahan untuk mencipta ServiceProvider baharu:

php artisan make:provider CustomValidationRulesServiceProvider

Kemudian cari fail CustomValidationRulesServiceProvider.php dalam direktori app/Providers, buka fail dan pilih Daftarkan peraturan pengesahan tersuai kami dalam kaedah >boot: app/Providers目录下找到CustomValidationRulesServiceProvider.php文件,打开文件并在boot方法中注册我们的自定义验证规则:

<?php

namespace AppProviders;

use IlluminateSupportServiceProvider;
use IlluminateSupportFacadesValidator;

class CustomValidationRulesServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Validator::extend('custom_rule', function ($attribute, $value, $parameters, $validator) {
            // 自定义验证规则的具体逻辑,这里可以根据业务需求编写验证逻辑
            return $value === 'custom_value';
        });
    }

    public function register()
    {
        //
    }
}

在上面的代码中,我们定义了一个名为custom_rule的自定义验证规则,并在闭包函数中编写了验证逻辑。在这里,我们只是简单地判断输入值是否等于custom_value,实际业务中可以根据需要进行更复杂的逻辑判断。

3. 注册自定义验证规则

接着,我们需要在app/Providers/AppServiceProvider.php中注册我们创建的ServiceProvider。在AppServiceProviderboot方法中使用app()->register()方法注册我们的自定义ServiceProvider:

public function boot()
{
    $this->app->register(CustomValidationRulesServiceProvider::class);
}

4. 在验证规则中使用自定义规则

现在我们已经创建并注册了自定义验证规则,接下来就可以在表单验证时使用我们的自定义规则了。例如,我们在appHttpControllersUserController.php中编写一个登录表单验证的方法:

public function login(Request $request)
{
    $validatedData = $request->validate([
        'username' => 'required',
        'password' => 'required|min:6|custom_rule', // 使用自定义规则
    ]);

    // 其他处理逻辑
}

在上面的代码中,我们在密码字段的验证规则中添加了我们自定义的规则custom_rulerrreee

Dalam kod di atas, kami mentakrifkan peraturan pengesahan tersuai bernama custom_rule dan menggunakannya dalam fungsi penutupan Logik pengesahan ditulis dalam . Di sini, kami hanya menilai sama ada nilai input adalah sama dengan custom_value Dalam perniagaan sebenar, pertimbangan logik yang lebih kompleks boleh dibuat mengikut keperluan.

3. Daftar peraturan pengesahan tersuai🎜🎜Seterusnya, kami perlu mendaftarkan ServiceProvider yang kami buat dalam app/Providers/AppServiceProvider.php. Gunakan kaedah app()->register() dalam kaedah boot AppServiceProvider untuk mendaftarkan ServiceProvider tersuai kami: 🎜rrreee🎜4. Menggunakan peraturan tersuai dalam peraturan pengesahan🎜🎜Sekarang kami telah mencipta dan mendaftarkan peraturan pengesahan tersuai, kami boleh menggunakan peraturan tersuai kami dalam pengesahan borang. Sebagai contoh, kami menulis kaedah pengesahan borang log masuk dalam appHttpControllersUserController.php: 🎜rrreee🎜Dalam kod di atas, kami menambahkan peraturan tersuai kami pada peraturan pengesahan medan kata laluan custom_rule, supaya logik pengesahan peraturan tersuai kami akan dicetuskan apabila borang pengguna diserahkan. 🎜🎜Melalui langkah di atas, kami berjaya mencipta peraturan pengesahan bahasa Cina tersuai dalam Laravel dan menggunakan peraturan dalam kod. Dengan cara ini, kami boleh melanjutkan keupayaan pengesahan Laravel dengan mudah untuk memenuhi pelbagai keperluan perniagaan. 🎜

Atas ialah kandungan terperinci Petua Praktikal: Menyesuaikan Peraturan Pengesahan Bahasa Cina dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn