首页 > 解决方案 > Laravel 6.9.0 validation.php 翻译的消息不显示是否不以变量/属性开头

问题描述

所以我手动翻译了validation.php文件中的错误消息,因为该站点几乎完成了,我认为由于它只需要一种语言(不是英语),因此不值得将所有内容重构为新的语言环境,而是,只需翻译 EN 之一。

但是,我目前面临的问题是,以 :attribute 或任何其他 :variable 开头的已翻译消息将正确显示,但如果以西里尔字母开头,则不会。这是validation.php的一个例子 -

'accepted' => 'Трябва да приемете :attribute.', // DOES NOT WORK
'confirmed' => ':attribute не съвпада със стойността за потвърждение.', // WORKS

如果一条消息不起作用,我所要做的就是将 :attribute 或任何可能被称为调用的东西放在字符串的开头,它现在可以工作了......

这真的很奇怪,我不确定它是否与它位于 /en/ lang 文件夹或其他东西下的事实有关。我试图找到一个解决方案几个小时,但我找不到任何与我的案例相关的东西,所以我希望在这里能得到一些帮助。

标签: laravelvalidationerror-handling

解决方案


因此,经过几天的研究,事实证明,当表单提交大量文本区域内容时,例如 2 段文本,表单输入被发送到 cookie,以便在验证失败时闪现错误。但是由于 textarea 包含大量文本,因此验证失败,但错误闪烁也失败了,默默地,并且 $errors 留空。

https://laracasts.com/index.php/discuss/channels/general-discussion/laravel-5-not-showing-validation-errors-when-textarea-is-filled-with-lots-of-text

一个可能的解决方案是在 session.php 中使用 FILE 作为会话驱动程序,如上面链接的问题中所述。


推荐阅读