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'
但返回的“$ parameters”数组是: 数组:1 [▼0 => “base_occupancy”。 所以我没有得到base_occupancy的值来检查“greater_than”条件。
答案 0 :(得分:0)
使用$validator->getData()
。它将返回一个键值数组,该键值数组的键是表单输入名称,值是它们的值。
针对您的情况,请按以下步骤解决:
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;
}
}