我有一个类检查两个日期并查看该值是否大于或等于第二个参数。我的问题是 - 你如何正确地从第二个字段中获取值我已经使用了Input :: get($ value_to_compare),我认为这实际上不是正确的方法。
class CoreValidator extends Illuminate\Validation\Validator {
protected function validateDateLessThanOrEqualTo($attribute, $value, $parameters)
{
/*
* If a input with the name equal to the value we compare with, we
* use it, otherwise we proceed as usual
*/
if( isset( $this->attributes[ $parameters[0] ] ) )
{
$value_to_compare = $this->attributes[ $parameters[0] ];
}//if we have an input with this name
else
{
$value_to_compare = $parameters[0];
}//we compare with the provided value
return ( date_parse( $value ) <= date_parse( Input::get($value_to_compare) ) );
}
protected function replaceDateLessThanOrEqualTo($message, $attribute, $rule, $parameters)
{
return str_replace(':other', ucwords(str_replace('_', ' ', $parameters[0])), $message);
}
}
答案 0 :(得分:1)
您可以使用验证程序对象上的成员变量$data
来获取其他属性的值:
return ( date_parse( $value ) <= date_parse( $this->data[$value_to_compare] ) );