如何为Laravel 6验证属性提供一个自定义的错误消息名称?

jv4diomz  于 2022-11-18  发布在  其他
关注(0)|答案(4)|浏览(118)

当我的Laravel表单填写不正确时,我试图更改错误显示的方式。目前,当我收到错误时。它显示如下。
名字是255个空手道手
由于此语言是荷兰语,我想将**'name'属性更改为'naam'**。我已尝试将$attributesNames更改为这种形式,但很遗憾没有成功。

$attributeNames = [
   'name' => 'Naam'   
];

这是我的验证函数目前的样子。

/**
 * @return array
 */
public function validateCampaign() {
    // name needs to render as 'Naam'

    return request()->validate([
        'name' => 'required|max:255',
    ]);
}
n8ghc7c1

n8ghc7c11#

事实证明,我需要编辑resources/lang/xx/validation.php文件中的'attributes'数组。
原来是这样的:

'attributes' => [
    'name' => 'Naam'
]
t2a7ltrp

t2a7ltrp2#

嘿,我发现类似的问题,像你可能this will help
也许像这样

$attributeNames = array(
        'name' => 'Naam',  
    );

    $validator = Validator::make ( request()->all(), [
        'name' => 'required|max:255',
    ]);
    $validator->setAttributeNames($attributeNames);

您可以在laravel文档中看到更多关于这方面内容

6rqinv9w

6rqinv9w3#

有一个简单的方法来设置自定义错误消息:

public function validateCampaign() {
    // name needs to render as 'Naam'

    return request()->validate([
        'name' => 'required|max:255',
    ],[
        'name.required' => 'Namm is required',
        'name.max' => 'Namm must be max 255 length'
    ]);
}
7kjnsjlb

7kjnsjlb4#

结合前面的示例,您可以这样做...

/**
 * @return array
 */
public function validateCampaign() {
    // name needs to render as 'Naam'

    return request()->validate(
        ['name' => 'required|max:255'],  // rules
        [],                              // messages
        ['name' => 'Naam']               // custom attributes
    );
}

validate函数的Laravel 6实现细节可以在这里找到。

相关问题