Während des Laravel-Entwicklungsprozesses verwenden wir unter normalen Umständen die vom Framework bereitgestellten Standardvalidierungsregeln, um vom Benutzer eingegebene Daten zu überprüfen. Manchmal müssen wir jedoch einige spezifische Validierungsregeln anpassen, um den Geschäftsanforderungen gerecht zu werden. In diesem Artikel wird erläutert, wie chinesische Validierungsregeln in Laravel angepasst werden, und es werden spezifische Codebeispiele gegeben.
Die Validierungsregeln von Laravel werden alle durch die Validator-Klasse implementiert. Die Validator-Klasse bietet eine Reihe von Methoden zur Validierung von Regeln. Wir können benutzerdefinierte Validierungsregeln implementieren, indem wir die Validator-Klasse erben und benutzerdefinierte Regelmethoden hinzufügen.
Zunächst müssen wir einen ServiceProvider erstellen, um unsere benutzerdefinierten Validierungsregeln zu registrieren. Führen Sie den folgenden Befehl in der Befehlszeile aus, um einen neuen ServiceProvider zu erstellen:
php artisan make:provider CustomValidationRulesServiceProvider
Suchen Sie dann die Datei CustomValidationRulesServiceProvider.php
im Verzeichnis app/Providers
, öffnen Sie die Datei und wählen Sie sie aus Registrieren Sie unsere benutzerdefinierte Validierungsregel in der >boot-Methode: 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
,实际业务中可以根据需要进行更复杂的逻辑判断。
接着,我们需要在app/Providers/AppServiceProvider.php
中注册我们创建的ServiceProvider。在AppServiceProvider
的boot
方法中使用app()->register()
方法注册我们的自定义ServiceProvider:
public function boot() { $this->app->register(CustomValidationRulesServiceProvider::class); }
现在我们已经创建并注册了自定义验证规则,接下来就可以在表单验证时使用我们的自定义规则了。例如,我们在appHttpControllersUserController.php
中编写一个登录表单验证的方法:
public function login(Request $request) { $validatedData = $request->validate([ 'username' => 'required', 'password' => 'required|min:6|custom_rule', // 使用自定义规则 ]); // 其他处理逻辑 }
在上面的代码中,我们在密码字段的验证规则中添加了我们自定义的规则custom_rule
rrreee
custom_rule
und verwenden sie in der Abschlussfunktion. Die Verifizierungslogik wird geschrieben In . Hier beurteilen wir einfach, ob der Eingabewert custom_value
entspricht. Im tatsächlichen Geschäft können bei Bedarf komplexere logische Beurteilungen vorgenommen werden. 3. Registrieren Sie benutzerdefinierte Validierungsregeln🎜🎜Als nächstes müssen wir den ServiceProvider registrieren, den wir in app/Providers/AppServiceProvider.php
erstellt haben. Verwenden Sie die Methode app()->register()
in der Methode boot
von AppServiceProvider
, um unseren benutzerdefinierten ServiceProvider zu registrieren: 🎜rrreee🎜4. Benutzerdefinierte Regeln in Validierungsregeln verwenden🎜🎜Da wir nun benutzerdefinierte Validierungsregeln erstellt und registriert haben, können wir unsere benutzerdefinierten Regeln bei der Formularvalidierung verwenden. Beispielsweise schreiben wir eine Methode zur Überprüfung des Anmeldeformulars in appHttpControllersUserController.php
: 🎜rrreee🎜Im obigen Code haben wir unsere benutzerdefinierten Regeln zu den Überprüfungsregeln des Passwortfelds custom_rule
hinzugefügt >, sodass die Validierungslogik unserer benutzerdefinierten Regeln ausgelöst wird, wenn das Benutzerformular gesendet wird. 🎜🎜Durch die oben genannten Schritte haben wir erfolgreich eine benutzerdefinierte chinesische Validierungsregel in Laravel erstellt und die Regel im Code verwendet. Auf diese Weise können wir die Validierungsfunktionen von Laravel problemlos erweitern, um verschiedene Geschäftsanforderungen zu erfüllen. 🎜Das obige ist der detaillierte Inhalt vonPraktische Tipps: Anpassen chinesischer Validierungsregeln in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!