如何在 Laravel 中验证精确的单词?
laravelphpserver side programming更新于 2025/7/4 4:37:17
要验证数据,您可以使用 Validation 类。该验证类不仅能验证数据,还能向用户显示错误消息。
要获取要验证的精确单词,您可以使用 Laravel 提供的 Rule::in 方法。
使用 Rule::in 方法时,此规则提供的任何值都必须匹配,否则验证将失败。
示例 1
使用 Rule::in 方法
要使用 Rule::in 方法,您需要包含以下类:使用 Illuminate\Validation\Rule; 或使用 Rule;
$input = [ 'category' => ['ABC', 'XYZ'], ]; Validator::make($input, [ 'category' => [ 'required', 'array', Rule::in(['ABC', 'TIK']), ], ]);
此处,$输入数组包含一个类别,其值为 ABC 和 XYZ。Rule::in 包含一个包含两个值 ABC 和 TIK 的数组。Rule::in 期望该数组与输入数据中指定的值完全匹配,否则将失败。
由于 Rule::in 指定其值为 ABC 和 TIK,而这与 ABC 和 XYZ 不匹配。因此,上述对 $输入的验证将失败。
示例 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

