Laravel 翻译值 required_if

Posted

技术标签:

【中文标题】Laravel 翻译值 required_if【英文标题】:Laravel translate values required_if 【发布时间】:2017-06-27 14:32:56 【问题描述】:

我正在使用 Laravel 版本 5.2.45。目前我在翻译 required_if 规则时遇到了一些麻烦。 当我使用 required_if,field,value 时,它​​会打印出错误验证消息中的字段值,在本例中为 1 或 0。这不太可读。

例如:

如果类型为 0,则字段 1 是必需的

希望:

如果类型为默认,则字段 1 是必需的

有什么方法可以翻译 rquired_if value/:value 的值吗?

控制器:

$customerVal = Validator::make($request->all(), [
        'field1' => 'required_if:type,0',
        'field2' => 'required_if:type,0',
    ]);

查看:

@if (count($errors) > 0)
        <div class="modalMsg alert">
            <ul>
                @foreach ($errors->all() as $error)
                    <li> $error </li>
                @endforeach
            </ul>
        </div>
    @endif

我可以看到 Laravel 在语言部分有这个:

'required_if'          => ':attribute is required when :other are  :value.',

所以它基本上是:值我需要翻译(动态)。 我在下面尝试过,但这并不能代替 0:

'attributes' => [
'field1' => [
            '0' => 'test'
        ]
]

【问题讨论】:

【参考方案1】:

您正在尝试翻译 values 而不是 attributes

打开app/lang/en/validation.php文件并添加新的数组元素:

'values' => [
    'type' => [
        '0' => 'default',
     ],
 ],

发现于laravel's github。

【讨论】:

谢谢!现在也记录在laravel.com/docs/validation#specifying-values-in-language-files

以上是关于Laravel 翻译值 required_if的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:laravel 可翻译插件

laravel 请求返回消息键翻译

joedixon/laravel 翻译未更新

Laravel Vue 语言翻译

Laravel Vue语言翻译

根据当前翻译的 Laravel 路线在刀片中添加“活动”类