验证中的 Laravel 多元化
Posted
技术标签:
【中文标题】验证中的 Laravel 多元化【英文标题】:Laravel pluralization in validation 【发布时间】:2019-07-08 07:45:26 【问题描述】:我正在开发一个多语言 API,我需要使用复数形式返回翻译后的 Bag。
例子:
'item' => 'required|min:1'
应该返回
项目必须至少有 1 个字符
'item' => 'required|min:2'
应该返回
项目必须至少有 2 个字符
除了迭代数组之外,你知道如何翻译包吗?
我在 lang 文件中试过了:
:attribute 必须至少有 :min 个字符|:attribute 必须至少有 :min 个字符
和
1 :attribute 必须至少有 :min 个字符|[2,*] :attribute 必须至少有 :min 个字符。
【问题讨论】:
为其他语言创建文件夹,例如 lang 目录中的 en 文件夹,并在其中创建 validation.php 文件。 【参考方案1】:使用 Laravel trans_choice 你可以做到:
在您的代码中
$rules = [
'item' => 'required|min:1'
];
$attributeNames = array(
'item' => 'Item'
);
// Pass your length here
$msg = [
'min' => trans_choice('validation.min', 1)
];
$this->validate($request,$rules,$msg,$attributeNames);
在 lang/en/validation.php 中
'min' => ':attribute must have at least :min character|:attribute must have at least :min characters'
参考这个网址enter link description here
【讨论】:
以上是关于验证中的 Laravel 多元化的主要内容,如果未能解决你的问题,请参考以下文章