Issue
I added a custom validation errors using Validator::resolver()
as bellow :
class Rest extends Validator
{
public function addFailure($attribute, $rule, $parameters = [])
{
$message = $this->getMessage($attribute, $rule);
$message = $this->makeReplacements($message, $attribute, $rule, $parameters);
$customMessage = new MessageBag();
$customMessage->merge(['code' => strtolower($rule.'_rule_error')]);
$customMessage->merge(['message' => $message]);
$this->messages->add($attribute, $customMessage);
}
}
and i called it using resolver in AppServiceProvider
:
Validator::resolver(function($translator, $data, $rules, $messages)
{
return new Rest($translator, $data, $rules, $messages);
});
and while trying to change an attribute name it doesn't work:
$request->validate(
[
'group_id' => 'required'
], [],
[
'group_id' => 'the lesson group'
]);
Solution
I usualy extend the validator when the provider is registering
Eg.:
Validator::extend('foo', function ($attribute, $value, $parameters, $validator) {
return $value == 'foo';
});
Remmeber you need to return true or false.
More info: https://laravel.com/docs/6.x/validation#using-extensions
Answered By - Manuel Eduardo Romero Answer Checked By - Clifford M. (PHPFixing Volunteer)
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.