我正在使用Laravel标准验证,但我想自定义它,因为我在我的应用程序中使用多语言,因此我必须自定义消息。
$rule_validation = [
'phone' => 'required|max:20|min:6|regex:/^[0-9]+$/',
'agree_promo_code' => request('promo_code') ? 'accepted' : '',
'terms_of_services' => 'accepted',
'aware' => 'accepted'
];
现在我想为agree_promo_code
编写自定义验证消息我知道要为手机写信息,但对agree_promo_code,terms_of_services有所怀疑。 任何人都可以帮我解决这个问题
但请注意语言。谢谢
答案 0 :(得分:0)
您可以将第二个数组传递给验证函数,如
$this->validate($request,[
'phone' => 'required|max:20|min:6|regex:/^[0-9]+$/',
'agree_promo_code' => request('promo_code') ? 'accepted' : '',
'terms_of_services' => 'accepted',
'aware' => 'accepted'
],[
'phone.required' => trans('validation.phone'),
'agree_promo_code.accepted' => trans('validation.agree_promo_code'),
'terms_of_services.accepted' => trans('validation.terms_of_services'),
'aware.accepted' => trans('validation.aware'),
]);
并在您的resources / lang / {lang} /validation.php文件中({lang}是您的语言目录)。
你可以做点什么return [
'phone' => 'Phone validation message',
'agree_promo_code' => 'agree_promo_code validation message',
'terms_of_services' => 'terms_of_services validation message',
];
因此,它会根据相应的语言设置您的消息。
答案 1 :(得分:0)
当您为各种语言设置语言文件时 您需要在相应的语言文件夹下创建 validation.php 文件 并为每种字段添加适用于每种验证类型的自定义消息
例如,如果您有名称字段,并且需要验证检查 因此,在您的语言文件夹的验证文件中,您将编写如下内容
<?php
return [
'custom' => [
'name' => [
'required' => 'O campo nome é obrigatório.'
]
];
其余所有语言检查将由Laravel本身处理,同时根据为会话选择的区域语言显示验证错误消息