Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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'中的多个值进行验证;什么要求?_Laravel_Validation - Fatal编程技术网

如何针对Laravel'中的多个值进行验证;什么要求?

如何针对Laravel'中的多个值进行验证;什么要求?,laravel,validation,Laravel,Validation,我将两个字段传递给我的APImax_duration和min_duration,并使用Laravel的FormRequest执行validaiton。下面是我的推荐请求.php类: { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { ret

我将两个字段传递给我的API
max_duration
min_duration
,并使用Laravel的FormRequest执行validaiton。下面是我的推荐请求.php类:

{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            "max_duration" => ["integer", new ValidateMaxDuration],
            "min_duration" => ["integer", new ValidateMinDuration]
        ];
    }

}
下面是我的
ValidateMaxDuration.php
规则,我想验证
max\u duration
值是否高于
min\u duration
值。我该怎么做

class ValidateMaxDuration implements Rule
{
    private $minDuration;

    /**
     * Create a new rule instance.
     *
     * @return void
     */
    public function __construct()
    {
        // $this->minDuration = $minDuration;
    }

    /**
     * Determine if the validation rule passes.
     *
     * @param  string  $attribute
     * @param  mixed  $value
     * @return bool
     */
    public function passes($attribute, $value)
    {
        // logic done here to validate max value
        // return $value[0] < $value[1] ? false : true; 
    }

    /**
     * Get the validation error message.
     *
     * @return string
     */
    public function message()
    {
        return "Max duration must be a higher value than min duration.";
    }
}
类ValidateMaxDuration实现规则
{
私人时间;
/**
*创建一个新的规则实例。
*
*@返回无效
*/
公共函数构造()
{
//$this->minDuration=$minDuration;
}
/**
*确定验证规则是否通过。
*
*@param string$属性
*@param混合$value
*@returnbool
*/
公共函数传递($attribute,$value)
{
//此处完成的逻辑用于验证最大值
//返回$value[0]<$value[1]?false:true;
}
/**
*获取验证错误消息。
*
*@返回字符串
*/
公共功能消息()
{
return“最大持续时间必须大于最小持续时间”;
}
}

可能重复@N69S,谢谢