【发布时间】:2015-11-24 06:10:48
【问题描述】:
是否可以有条件地为验证请求设置自定义语言文件(例如resources/lang/en/validation_ajax.php)?需要说明的是,我不想更改应用语言,只是根据请求来源使用另一组消息。
当我进行 ajax 验证调用时,我想使用不同的消息,因为我在字段本身下方显示错误消息。所以不需要再次显示字段名称(标签)。
我知道您可以在 'attributes' => [] 上定义标签,但不值得这么努力,因为我有这么多的多种语言字段。
我正在使用 FormRequest(控制器上没有手动调用,只是类型提示)。
【问题讨论】:
-
您可以在
'attributes' => []和'messages' => []中使用trans()。 -
我不明白这有多实用。 Laravel 还会自动生成错误数组,因此我需要针对每种情况进行更改,因此我可以直接在属性上执行此操作(这就是整个问题,因为我有很多字段)。通过使用另一个文件,我可以轻松删除 :attributes 并手动处理约 5% 的边缘情况。
-
但是如果您在
ServiceProvider中需要resources/lang/en/validation_ajax.php,那么trans()不可以使用它吗? -
使用
trans()意味着我需要重新处理数组(针对每种类型的请求/响应),而这正是我想要避免的
标签: php validation laravel laravel-5.1