大家好,感谢您的帮助。我想自定义错误消息以进行验证,并 最终为每种语言创建不同的版本,这可能吗?
这里我的代码处于他的实际状态。
namespace App;
use Respect\Validation\Exceptions\ValidationException;
use Respect\Validation\Exceptions\NestedValidationException;
use Respect\Validation\Validator as v;
class Validator {
private $messages = [
'lastname',
'firstname',
'phone',
'email',
'message'
];
//other functions and declarations of my class.
private function validationData() {
$rule = null;
switch ($this->page) {
case 'contact';
$rule = v::key('lastname', v::notEmpty()
->alpha("-'"))
->key('firstname', v::optional(v::alpha("-'")))
->key('phone', v::optional(v::phone()))
->key('email', v::email())
->key('message', v::optional(v::length(5, 500)));
break;
default;
break;
}
try {
$rule->assert($this->data);
} catch (ValidationException $exception) {
var_dump($exception->findMessages($this->messages));
}
}
}
它返回给我:
array(5) {
["lastname"]=> string(51) "lastname must contain only letters (a-z) and ""-'"""
["firstname"]=> string(0) ""
["phone"]=> string(38) "phone must be a valid telephone number"
["email"]=> string(25) "email must be valid email"
["message"]=> string(44) "message must have a length between 5 and 500"
}
我需要保留我的验证结果的这种结构。因为我需要字段名称才能在客户端显示它们。
再次感谢,