如何在 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

相关文章