Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Laravel 5 如何获取自定义验证规则laravel 5中传递的参数值_Laravel 5_Custom Validators - Fatal编程技术网

Laravel 5 如何获取自定义验证规则laravel 5中传递的参数值

Laravel 5 如何获取自定义验证规则laravel 5中传递的参数值,laravel-5,custom-validators,Laravel 5,Custom Validators,但是“$parameters”数组返回的是: 阵列:1[▼ 0=>“基本占用率”]。 因此,我没有获取基本占用率的值来检查“大于”条件。使用$validator->getData()。它将返回一个键值数组,该数组的键值为表单输入名称,值为它们的值 在您的情况下,按如下方式进行修复: The custom validation rule is : Validator::extend('greater_than', function($attribute, $value, $parameters)

但是“$parameters”数组返回的是: 阵列:1[▼ 0=>“基本占用率”]。
因此,我没有获取基本占用率的值来检查“大于”条件。

使用
$validator->getData()
。它将返回一个键值数组,该数组的键值为表单输入名称,值为它们的值

在您的情况下,按如下方式进行修复:

The custom validation rule is :

Validator::extend('greater_than', function($attribute, $value, $parameters) {
    if (isset($parameters[0])) {
        return intval($value) > intval($parameter[0]);
    } else {
        return false;
    }
}

max_occupancy rule would then be:

'max_occupancy' => 'required|integer|max:100|greater_than:base_occupancy'

base_Occupation是表单中的一个字段吗?请看以下内容:类AddRoomRequest扩展请求{public function rules(){return['name'=>'必需|最小值:2 |最大值:1000','base|u occulation'=>'必需|整数|最小值:0 |最大值:100','max|占用率=100 |大于|基本值];}这是表单请求的吗?是的,我创建了一个请求“AddRoomRequest”,带有一些规则,有两个参数,我正在尝试关联它们,即…………'基本占用'=>'必需的|整数|最小值:0 |最大值:100','最大占用'=>'必需的|整数|最大值:100 |大于:基本占用'
Validator::extend('greater_than', function($attribute, $value, $parameters, $validator) {
    $all_form_data = $validator->getData();
    if (isset($all_form_data[$parameters[0]])) {
        return intval($value) > intval($all_form_data[$parameters[0]]);
    } else {
        return false;
    }
}