Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel验证器,在验证时添加参数_Php_Laravel_Validation - Fatal编程技术网

Php Laravel验证器,在验证时添加参数

Php Laravel验证器,在验证时添加参数,php,laravel,validation,Php,Laravel,Validation,我已经开始修补Laravel中的验证器,似乎把自己编程到了一个角落 背景 我有一个方法,我用它来检查是否存在一个地址通过谷歌地图。因为我开始只有一个文件并在该文件中进行验证,所以我让它返回一个对象,其中包含经度和纬度是否匹配以及格式化的地址 return (object) ['result' => (bool) $match, 'formatedAddress' => (string) $googleMaps->formatted_address]; (为了清晰起见,目前没有

我已经开始修补Laravel中的验证器,似乎把自己编程到了一个角落

背景

我有一个方法,我用它来检查是否存在一个地址通过谷歌地图。因为我开始只有一个文件并在该文件中进行验证,所以我让它返回一个对象,其中包含经度和纬度是否匹配以及格式化的地址

return (object) ['result' => (bool) $match, 'formatedAddress' => (string) $googleMaps->formatted_address];
(为了清晰起见,目前没有实际的类型转换代码。)

这在控制器中工作得很好,因为我可以在方法中重用变量,但在将其移动到
AppServiceProvider
后就不太好了

问题:

有没有办法在验证时设置一个公共参数,以便我可以访问格式化的地址?还是我必须用另一种方式去做


使用PHP5.6和LARAVEL5.4.

我实际上找到了答案,同时又做了一些修改。我在条件中犯了一个错误,所以它甚至没有达到我设置变量的点。 基本上,这就是解决方案:

Validator::extend('location', function (
    $attribute, $value, $parameters, $validator
) {
    $validator->location = true;
}
希望我的小错误和疏忽能帮助其他人避免陷入同样的困境