Heim  >  Artikel  >  Backend-Entwicklung  >  Wie validiere ich Routenparameter in Laravel?

Wie validiere ich Routenparameter in Laravel?

PHPz
PHPznach vorne
2023-09-01 14:41:06821Durchsuche

Wie validiere ich Routenparameter in Laravel?

In Laravel werden Routen im Ordner paths/ definiert. Routen werden in der Datei web.php definiert. Diese Datei wird erstellt, nachdem die Laravel-Installation abgeschlossen ist. Das Laravel-Routing akzeptiert URI- und Abschlussfunktionen wie unten gezeigt -

use Illuminate\Support\Facades\Route;
Route::get('/student', function () {
   return 'Hello Student';
});

In web/routes.php definierte Routen werden der Web-Middleware-Gruppe zugewiesen und sie Verfügt über Sitzungsstatus und CSRF-Schutz. Sie können den Controller auch in der Route anrufen Wie unten gezeigt -

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\StudentController;
Route::get('student', [StudentController::class, 'index']);

Hier sind die Routing-Methoden, die Sie in Ihrer Anwendung verwenden können:

  • Route::get($ uri, $Callback-Funktion oder Controller);

  • Route::post($uri, $Callback-Funktion oder Controller);

  • Route::put($uri, $Callback-Funktion oder Controller);

  • Route::patch($uri, $Callback-Funktion oder Controller);

  • Route::delete($uri, $Callback-Funktion oder Controller);

  • Route::options($uri, $Callback-Funktion oder Controller);

Überprüfung der Routenparameter

Routenparameter stehen in geschweiften Klammern und der angegebene Name enthält alphanumerische Zeichen. Zusätzlich zu alphanumerischen Zeichen können Sie bei der Auswahl von Routing-Parameternamen auch Unterstriche verwenden.

Grammatik

Die Syntax der Routing-Parameter lautet wie folgt: −

Route::get('/user/{myid}', function ($myid) {
   //
});

Hier ist myid der Routing-Parameter, den wir weiter verwenden möchten.

Mehrere Routing-Parameter

Sie können mehrere Routenparameter haben, wie in der folgenden Syntax gezeigt.

Route::get('/students/{post}/feedbacks/{feedback}', function ($postId, $feedbackId) {
   //
});

Im obigen Fall gibt es zwei Routing-Parameter: {post} und {feedback}

Optionale Parameter

Sie können Routen auch optionale Parameter hinzufügen. Optionale Parameter sind nicht immer verfügbar und werden durch ? nach dem Parameter gekennzeichnet. Die Syntax optionaler Parameter lautet wie folgt: −

Route::get('/students/{myname?}', function ($myname = null) {
   return $myname;
});

Hier ist myname ein optionaler Parameter.

Laravel verfügt über einige Methoden zur Validierung von Parametern. Dies sind where(), whereNumber(), whereAlpha() und whereAlphaNumeric().

Die chinesische Übersetzung von

Beispiel 1

lautet:

Beispiel 1

Verwenden Sie die Methode where()

Die Methode

where() ist auf der Route definiert und akzeptiert den Parameternamen und die auf den Parameter angewendete Validierung. Wenn mehrere Parameter vorhanden sind, wird es als Array akzeptiert, wobei die Schlüssel die Parameternamen und die Werte die auf die Schlüssel anzuwendenden Validierungsregeln sind.

Route::get('/student/{studentname}', function ($studentname) {
   return $studentname;
})->where('studentname', '[A-Za-z]+');

Ausgabe

Die Ausgabe ist −

disha

Im oben genannten Fall muss der Name des Studierenden A-Z oder a-z oder eine Mischung aus beiden enthalten. Das Folgende sind also gültige URLs -

http://localhost:8000/student/DISHA
http://localhost:8000/student/dishaSingh.

Ungültige URL -

http://localhost:8000/student/dishaSingh123

Beispiel 2

Lassen Sie uns nun mehrere Parameter mit der Methode where() überprüfen.

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname){
   return $studentid."===".$studentname;
})->where(['studentid' => '[0-9]+', 'studentname' => '[a-z]+']);
Im obigen Fall sind die Routing-Parameter studentid und studentname. Studentenausweis ist erforderlich ist eine Zahl zwischen 0 und 9 und der Name des Schülers muss in Kleinbuchstaben angegeben werden. Der Inhalt, der übersetzt werden muss, ist: Es muss eine Zahl zwischen 0 und 9 sein und der Schülername muss in Kleinbuchstaben geschrieben sein

Ausgabe

Die obige Ausgabe ist −

12===disha

Die oben genannte gültige URL ist −

http://localhost:8000/student/12/disha
http://localhost:8000/student/01/disha

Ungültige URL -

http://localhost:8000/student/01/DISHA
http://localhost:8000/student/abcd/disha

Verwenden Sie whereNumber()

Beispiel

Sie müssen nur die Routenparameter übergeben, die gültige Werte sein sollen -

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->where('studentname','[a-z]+');

Ausgabe

Die Ausgabe des obigen Codes ist −

12===disha

Verwenden Sie whereAlpha()

Beispiel

Sie müssen den Routenparameter übergeben, der einen Alphawert haben soll -

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->whereAlpha('studentname');

Ausgabe

Die Ausgabe des obigen Codes ist −

12===dishaSingh

Verwenden Sie whereAlphaNumeric()

Beispiel

Sie müssen den Routenparameter übergeben, der einen alphanumerischen Wert haben soll −

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->whereAlphaNumeric ('studentname');

Ausgabe

Die Ausgabe wird -

sein
12===dishaSingh122

Das obige ist der detaillierte Inhalt vonWie validiere ich Routenparameter in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:levenshtein()-Funktion in PHPNächster Artikel:levenshtein()-Funktion in PHP