如何针对Laravel'中的多个值进行验证;什么要求?
我将两个字段传递给我的API如何针对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
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,谢谢