在 laravel 中扩展验证器时,有没有办法附加自定义验证消息?
Is there a way to attach a custom validation message when extending the validator in laravel?
目前我已经实现了以下自定义验证,但我不知道如果验证失败如何附加自定义消息。为了澄清,我需要在扩展验证器时定义错误消息
Validator::extend('phone_number', function($attribute, $value, $parameters)
{
// is there anyway I could define a error message here, if this validation fails,
if (strlen($value) === 9)
{
if (substr($value, 0, 1) === '0')
{
return false;
}
}
else
{
if (substr($value, 0, 1) != '0')
{
return false;
}
}
return true;
});
我目前将此代码放在引导方法中,并且在文档中他们说有一种方法可以如下定义自定义消息,但我真的不明白。
public function boot()
{
Validator::extend(...);
Validator::replacer('foo', function ($message, $attribute, $rule, $parameters) {
return str_replace(...);
});
}
您可以将自定义验证规则消息放入 resources/lang/en/validation.php
。
另请查看此页面:https://laravel-news.com/laravel-5-5-custom-validator-rules
这是创建自定义验证规则的更好方法。
您可以通过向 extend
方法添加第三个参数来指定消息,如下所示:
Validator::extend('phone_number', function($attribute, $value, $parameters) {
if (strlen($value) === 9)
{
if (substr($value, 0, 1) === '0')
{
return false;
}
}
else
{
if (substr($value, 0, 1) != '0')
{
return false;
}
}
return true;
}, 'Your custom message goes here'); // <--- HERE
目前我已经实现了以下自定义验证,但我不知道如果验证失败如何附加自定义消息。为了澄清,我需要在扩展验证器时定义错误消息
Validator::extend('phone_number', function($attribute, $value, $parameters)
{
// is there anyway I could define a error message here, if this validation fails,
if (strlen($value) === 9)
{
if (substr($value, 0, 1) === '0')
{
return false;
}
}
else
{
if (substr($value, 0, 1) != '0')
{
return false;
}
}
return true;
});
我目前将此代码放在引导方法中,并且在文档中他们说有一种方法可以如下定义自定义消息,但我真的不明白。
public function boot()
{
Validator::extend(...);
Validator::replacer('foo', function ($message, $attribute, $rule, $parameters) {
return str_replace(...);
});
}
您可以将自定义验证规则消息放入 resources/lang/en/validation.php
。
另请查看此页面:https://laravel-news.com/laravel-5-5-custom-validator-rules
这是创建自定义验证规则的更好方法。
您可以通过向 extend
方法添加第三个参数来指定消息,如下所示:
Validator::extend('phone_number', function($attribute, $value, $parameters) {
if (strlen($value) === 9)
{
if (substr($value, 0, 1) === '0')
{
return false;
}
}
else
{
if (substr($value, 0, 1) != '0')
{
return false;
}
}
return true;
}, 'Your custom message goes here'); // <--- HERE