Laravel转换值required_if

sim*_*mon 5 translate laravel

我正在使用Laravel 5.2.45版本。目前,我在翻译required_if规则时遇到了一些麻烦。当我使用required_if,field,value时,它会在错误验证消息中打印出fields值,在这种情况下为1或0。这不是很可读。

例如:

如果类型为0,则必填字段1

想:

如果类型为默认值,则必填字段1

有什么方法可以转换rquired_if value /:value的值?

控制器:

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

视图:

@if (count($errors) > 0)
        <div class="modalMsg alert">
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif
Run Code Online (Sandbox Code Playgroud)

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

'required_if'          => ':attribute is required when :other are  :value.',
Run Code Online (Sandbox Code Playgroud)

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

'attributes' => [
'field1' => [
            '0' => 'test'
        ]
]
Run Code Online (Sandbox Code Playgroud)

shu*_*van 6

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

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

'values' => [
    'type' => [
        '0' => 'default',
     ],
 ],
Run Code Online (Sandbox Code Playgroud)

laravel 的 github 中找到。