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

更新于:2022年9月1日

3K+浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告