如何验证Laravel中的确切单词?

use*_*736 12 validation laravel

Laravel中的验证类是否验证了确切的单词?

例如

$rules = [
           "field" => "hello"
         ]
Run Code Online (Sandbox Code Playgroud)

该字段的值必须是"你好".

Joe*_*inz 30

是.我至少知道两种方式.

// option one: 'in' takes a comma-separated list of acceptable values
$rules = [
    'field' => 'in:hello',
];

// option two: write a matching regular expression
$rules = [
    'field' => 'regex:^hello$',
];
Run Code Online (Sandbox Code Playgroud)

实际上,我不记得你是否需要正则表达式中的^ $分隔符,但通过尝试它很容易找到.:)


Pun*_*eet 7

Laravel 5.5 更新了方法。 https://laravel.com/docs/5.5/validation#rule-in

// 'in' takes an array of values

$rules = [
    'field' => [ Rule::in('hello')]
];
Run Code Online (Sandbox Code Playgroud)

Use Rule;控制器中的命名空间用于访问 Rule 类(Illuminate\Validation\Rule)