如何在Laravel中驗證精確的單詞?
要驗證資料,您可以使用驗證類。驗證有助於驗證資料以及向用戶顯示錯誤訊息。
要獲得要驗證的精確單詞,您可以使用Laravel提供的Rule::in方法。
使用Rule::in方法,此規則提供的任何值都必須匹配,否則將失敗。
示例1
使用Rule::in方法
要使用Rule::in方法,您需要包含類:use Illuminate\Validation\Rule; 或 use Rule;
$input = [ 'category' => ['ABC', 'XYZ'], ]; Validator::make($input, [ 'category' => [ 'required', 'array', Rule::in(['ABC', 'TIK']), ], ]);
這裡$input陣列包含一個類別,其值為ABC和XYZ。Rule::in包含兩個值ABC和TIK的陣列。Rule::in期望陣列與輸入資料中給出的陣列完全匹配,否則將失敗。
由於Rule::in規定是ABC和TIK,與ABC和XYZ不匹配。因此,上述對$input的驗證將失敗。
示例2
在這個例子中,我們將測試使用Rule::in匹配的精確單詞。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Routing\Router; use Illuminate\Validation\Rule; class testuserip extends Controller { public function index() { $input = array("name" => "Riyan"); $rules = [ 'name' => [ Rule::in('Riyan')] ]; // validate $validator = Validator::make($input, $rules); if ($validator->fails()) { echo "Word does not match"; } else { echo "Word matches"; } } }
輸出
以上程式碼的輸出為:
Word matches
示例3
在這個例子中,我們將使用in:表示式來測試精確的單詞。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Routing\Router; use Illuminate\Validation\Rule; class testuserip extends Controller { public function index() { $input = array("name" => "Disha"); $rules = [ 'name' => 'in:Disha', ]; // validate $validator = Validator::make($input, $rules); if ($validator->fails()) { echo "Word does not match"; } else { echo "Word matches"; } } }
輸出
以上程式碼的輸出為:
Word matches
示例4
您可以像下面示例中所示那樣在規則內使用正則表示式。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Routing\Router; use Illuminate\Validation\Rule; class testuserip extends Controller { public function index() { $input = array("name" => "Disha"); $rules = [ 'name' => 'regex:/^Disha$/', ]; // validate $validator = Validator::make($input, $rules); if ($validator->fails()) { echo "Word does not match"; } else { echo "Word matches"; } } }
輸出
以上程式碼的輸出為:
Word matches
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP