Php 自定义验证错误参数

Php 自定义验证错误参数,php,validation,laravel,Php,Validation,Laravel,我在我的Laravel应用程序中创建了一个自定义验证器,我想创建一个自定义错误。理想情况下,这将是您的图像必须至少为500×500像素 但是,我不知道如何在validation.php文件中获取参数(500500) 这是当前的错误消息: "image_dimensions" => "Your :attribute must be at least GET PARAMETERS HERE", 下面是验证器: Validator::extend('image_dimensions', fun

我在我的Laravel应用程序中创建了一个自定义验证器,我想创建一个自定义错误。理想情况下,这将是您的图像必须至少为500×500像素

但是,我不知道如何在validation.php文件中获取参数(500500)

这是当前的错误消息:

"image_dimensions" => "Your :attribute must be at least GET PARAMETERS HERE",
下面是验证器:

Validator::extend('image_dimensions', function($attribute, $value, $parameters) {

    $image = Image::make($value);

    $min_width = $parameters[0];
    $min_height = $parameters[1];

    if ($image->getWidth() < $min_width) {
        return false;
    } else if ($image->getHeight() < $min_height) {
        return false;
    }

    return true;

});

如何获取错误消息中给出的参数?

在消息中添加替换项,例如:myMin和:myMax

"image_dimensions" => "Your :attribute must be at least :myMin to :myMax",
将替换项添加到规则中

Validator::replacer('image_dimensions', function($message, $attribute, $rule, $parameters)
{
    return str_replace(array(':myMin', ':myMax'), $parameters, $message);
});
如果要扩展验证程序,可以为规则添加替换方法:

class CustomValidator extends Illuminate\Validation\Validator {

    public function validateFoo($attribute, $value, $parameters)
    {
        return $value == 'foo';
    }

    protected function replaceFoo($message, $attribute, $rule, $parameters)
    {
        return str_replace(':foo', $parameters[0], $message);
    }

}
欲了解更多信息,请阅读

class CustomValidator extends Illuminate\Validation\Validator {

    public function validateFoo($attribute, $value, $parameters)
    {
        return $value == 'foo';
    }

    protected function replaceFoo($message, $attribute, $rule, $parameters)
    {
        return str_replace(':foo', $parameters[0], $message);
    }

}