我在Laravel 5.5控制器中运行一些基本的验证,就像这样......
$this->validate($request, [
'name' => 'required|max:30',
'email' => 'required|unique:users|email',
'password' => 'required|max:20',
'mykey' => 'required',
]);
有没有办法检查mykey'匹配我保存的php字符串?我知道我可以做一个if语句并比较它们但是想知道我是否有办法在验证中做到这一点?
答案 0 :(得分:2)
您可以使用in规则,这适用于 n 值的数量
$request->validate([
'name' => 'required|max:30',
'email' => 'required|unique:users|email',
'password' => 'required|max:20',
'mykey' => [
Rule::in([env('MY_KEY'),config('app.another_key')]),
]
]);
答案 1 :(得分:1)
Laravel提供regex
验证选项。根据字符串比较的复杂性,它可能很有用:
答案 2 :(得分:0)
你可以这样做:
$key = "my_saved_key"
$request->validate([
'name' => 'required|max:30',
'email' => 'required|unique:users|email',
'password' => 'required|max:20',
'mykey' => 'in:' . $key,
]
]);