当在 Laravel 中使用自定义验证规则和替换器时,我真的很难找到任何可以简单地让您获取验证失败的值的文档。
例如,我创建了一个文件存在验证器:
Validator::extend('view_exists', function($field,$value,$parameters)
{
return View::exists($value);
});
Validator::replacer('view_exists', function($message, $attribute, $rule, $parameters)
{
return str_replace(':filename', 'THE ENTERED VALUE', $message);
});
现在,当我创建一条规则时:
$rules = array('filename' => 'required|view_exists');
$messages = array('filename.view_exists' => 'Filename \':filename\' does not exist');
当我输入无效路径时,例如safsakjhdsafkljh
,我希望它能回来
Filename 'safsakjhdsafkljh' does not exist
但是,那replacer
无法访问验证失败的值。我尝试输出传递给闭包的所有参数,包括$this
而且根本看不到它:(
在我诉诸使用之前Input::get
(呃),我错过了一些完全明显的东西吗?
Thanks
Gavin