我使用的是 Laravel 5.2.45 版。目前我在翻译 required_if 规则时遇到了一些麻烦。
当我使用 required_if,field,value 时,它会打印出错误验证消息中的字段值,在这种情况下是 1 或 0。这不是很易读。
例如:
如果类型为 0,则字段 1 是必需的
想:
如果类型为默认值,则字段 1 为必填项
有什么方法可以翻译 rquired_if value/:value 的值吗?
Controller :
$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.',
所以它基本上是 :value 我需要翻译(动态)。
我在下面尝试过,但这并不能代替 0:
'attributes' => [
'field1' => [
'0' => 'test'
]
]
最佳答案
您正在尝试转换值而不是属性。
开通 app/lang/en/validation.php
文件并添加新的数组元素:
'values' => [
'type' => [
'0' => 'default',
],
],
发现于 laravel's github .
关于Laravel 翻译值 required_if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42139131/