Laravel 5.3 正确或错误的验证正则表达式检查失败
Laravel 5.3 Validation Regex check for True or False fails
在 Laravel 5.1 中,我曾经使用正则表达式匹配进行验证检查,以查看发布的值是否设置为 true
或 false
。发布的值是这样的:
acceptTerms true
然后我检查 Laravel 验证的值,如下所示:
$validator = Validator::make($postData, [
'acceptTerms' => ["regex:(true|false)"],
]);
自更新到Laravel 5.3后,上述验证规则失败并始终抛出错误:acceptTerms format is invalid.
。
为什么会失败?如何检查 Laravel 5.3 中的值是否设置为 true
或 false
?
编辑 1:
我忘了补充,发布的数据以 JSON.stringify(data)
形式发送,在 Laravel 中我以 Input::json('data')
形式接收。这会改变什么吗?
编辑 2:
dd($postData)
returns 这个:
array:31 [
"id" => "8"
"appId" => "1"
"name" => "Asdsad"
"acceptTerms" => true
]
在 Laravel 5.1 中,我曾经使用正则表达式匹配进行验证检查,以查看发布的值是否设置为 true
或 false
。发布的值是这样的:
acceptTerms true
然后我检查 Laravel 验证的值,如下所示:
$validator = Validator::make($postData, [
'acceptTerms' => ["regex:(true|false)"],
]);
自更新到Laravel 5.3后,上述验证规则失败并始终抛出错误:acceptTerms format is invalid.
。
为什么会失败?如何检查 Laravel 5.3 中的值是否设置为 true
或 false
?
编辑 1:
我忘了补充,发布的数据以 JSON.stringify(data)
形式发送,在 Laravel 中我以 Input::json('data')
形式接收。这会改变什么吗?
编辑 2:
dd($postData)
returns 这个:
array:31 [
"id" => "8"
"appId" => "1"
"name" => "Asdsad"
"acceptTerms" => true
]