2017-04-08 30 views
0

这里是新手。任何人都可以帮助我获取我的自定义验证中的参数。以数组为参数的Laravel自定义验证

这里是我的验证规则:

['materials.*.receive_quantity' => 'lessthan:materials.*.quantity'] 

这里是我的自定义验证:

Validator::extend('lessthan', function ($attribute, $value, $parameters, $validator) { return $value <= $parameters[0]; }); 

当我dd($parameters)它返回一个字符串 '材料*数量。'。 TIA。

回答

0

首先,您需要一个5.4.18版本。 那么,试试这个代码:

Validator::extendDependent('lessthan', function ($attribute, $value, $parameters, $validator) { 
    return $value <= array_get($validator->getData(), $parameters[0]); 
}); 

而且你可以看更多的解释和示例pull请求:PR#18564

附:可能这是您的代码中的拼写错误:您的规则名称是“lesssthan”,但您使用“< =”运算符而不是“<”。

+0

Wooh !.谢谢你。^_^ –

+0

如果此解决方案适合您,您应该接受答案。 – brunen9