minmum长度验证规则取决于另一个不在laravel中工作的属性

时间:2015-06-23 14:24:12

标签: laravel-5

class AddRoomRequest extends Request {

    public function rules()
    {
        return [
            'name' => 'required|min:2|max:1000',
            'base_occupancy' => 'required|integer|min:0|max:100',
            'max_occupancy' => 'required|integer|min:0|max:100'
        ];
    }

}

上面的代码显示了我的请求类,此验证规则无效,即使我将基本占用率设为2,最大占用率为10,仍会显示错误

  

两个值都是数据库中的int(11)。

1 个答案:

答案 0 :(得分:1)

您需要通过扩展验证类来添加自定义验证规则。我现在无法测试,但试试这个:

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

您的max_occupancy规则将是:

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