在 Lumen 中验证数据中的密钥
Validating the key in the data in Lumen
我正在验证如下所示的请求:
{
"data": [
{
"id": 1,
"name": "Foo",
"values":{
"val1":"This",
"99":"That"
}
}
]
}
这是我的自定义消息:
$messages = [
'data.id'=>'is required',
'data.name'=>'is required',
'data.values'=>'must be array',
'data.values.*'=>'must be numeric'
];
我的验证规则是这样的:
$this->validate(
$request,
[
'data'=>'required|array',
'data.*.id'=>'required|numeric',
'data.*.name'=>'required',
'data.*.values'=>'array',
'data.*.values.*'=>'numeric'
],
$messages
);
该规则验证 "values" 数组中的值。我想验证 "values" 数组 [val1, 99] 中的密钥。
为 data.*.values
编写自定义验证规则:
'data.*.values' => function($attribute, $value, $fail) {
//$value contains your array of $key => $value pairs for you to loop through
if( /* doesn't pass your rules */){
return $fail('custom validation failed');
}
},
我正在验证如下所示的请求:
{
"data": [
{
"id": 1,
"name": "Foo",
"values":{
"val1":"This",
"99":"That"
}
}
]
}
这是我的自定义消息:
$messages = [
'data.id'=>'is required',
'data.name'=>'is required',
'data.values'=>'must be array',
'data.values.*'=>'must be numeric'
];
我的验证规则是这样的:
$this->validate(
$request,
[
'data'=>'required|array',
'data.*.id'=>'required|numeric',
'data.*.name'=>'required',
'data.*.values'=>'array',
'data.*.values.*'=>'numeric'
],
$messages
);
该规则验证 "values" 数组中的值。我想验证 "values" 数组 [val1, 99] 中的密钥。
为 data.*.values
编写自定义验证规则:
'data.*.values' => function($attribute, $value, $fail) {
//$value contains your array of $key => $value pairs for you to loop through
if( /* doesn't pass your rules */){
return $fail('custom validation failed');
}
},