Php Laravel 4自定义验证错误消息
因此,我尝试添加一个自定义验证规则,如下所示:Php Laravel 4自定义验证错误消息,php,validation,laravel,laravel-4,Php,Validation,Laravel,Laravel 4,因此,我尝试添加一个自定义验证规则,如下所示: public function validateDateAfterField($attribute, $value, $params) { return strtotime($value) > strtotime($this->data[$params[0]]); } Event End Date must be a date after Event Start Date return str_ireplace(":before
public function validateDateAfterField($attribute, $value, $params)
{
return strtotime($value) > strtotime($this->data[$params[0]]);
}
Event End Date must be a date after Event Start Date
return str_ireplace(":before", $this->attributes[$parameters[0]], $message);
它接受该值并使用正在验证的数据数组中的另一个字段进行验证
我希望它产生如下错误消息:
public function validateDateAfterField($attribute, $value, $params)
{
return strtotime($value) > strtotime($this->data[$params[0]]);
}
Event End Date must be a date after Event Start Date
return str_ireplace(":before", $this->attributes[$parameters[0]], $message);
以下是我的自定义验证消息:
":attribute must be a date after :before"
我添加了以下自定义验证属性:
'attributes' => array(
'event_start'=>'Event Start Date',
'event_end' => 'Event End Date',
)
但当我无法在自定义验证类中访问它时,我尝试了以下方法:
public function validateDateAfterField($attribute, $value, $params)
{
return strtotime($value) > strtotime($this->data[$params[0]]);
}
Event End Date must be a date after Event Start Date
return str_ireplace(":before", $this->attributes[$parameters[0]], $message);
但是得到一个错误未定义的属性:CustomerValidator::attributes
有人知道如何正确地做到这一点吗
编辑:
在my global.php中扩展了它
Validator::extend('date_after_field', 'CustomValidator@DateAfterField');
Validator::resolver(function($translator, $data, $rules, $messages)
{
return new CustomValidator($translator, $data, $rules, $messages);
});
在阅读了validator类的文档之后,我找到了答案
通过使用
$this->getAttribute($parameters[0])
,我成功地获得了自定义属性名称。您是否在此验证上定义了验证程序::extend
方法?是的,我已经在my global.php中定义了它,我将在中添加代码