jQuery 验证没有设置正确的语言
jQuery Validate not setting correct language
我正在尝试使用 jQuery validate 验证表单,但它似乎没有以正确的语言返回错误消息。
在我的 Rails 应用程序中,我有:
Gemfile
gem 'jquery-validation-rails'
application.js
//= require rails-ujs
//= require turbolinks
//= require jquery
//= require bootstrap-sprockets
//= require jquery.validate
//= require jquery.validate.localization/messages_it
//= require jquery.validate.localization/messages_ja
//= require_tree .
我调用验证器:
document.addEventListener 'turbolinks:load', ->
$("#contact-form").validate
submitHandler: (form) ->
form.submit()
$('#first_name').rules 'add',
required: true,
maxlength: 15
$('#last_name').rules 'add',
required: true,
maxlength: 15
$('#entry_email').rules 'add',
required: true,
maxlength: 60
$('#phone-number').rules 'add',
required: true,
digits: true
我看到了错误消息,但即使我将页面区域设置切换为 en
或 it
,它们仍以日语显示。
出现的语言基本上是我在application.js文件中设置的最后一个语言。因此,如果我删除 //= require jquery.validate.localization/messages_ja
,则会收到意大利语的错误消息。
如何获取每个语言环境的错误消息?
如能帮助解决此问题,我们将不胜感激!
提前致谢
不要在您的 application.js 中加载 jquery 的翻译。直接在您的应用程序布局中执行
// in your layout file you have something like this:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
// additionally load translations based on given params
<% if params[:locale].present? %>
<%= javascript_include_tag "jquery.validate.localization/messages_#{params[:locale]}" %>
<% end %>
// OR loading based on I18n.locale
<%= javascript_include_tag "jquery.validate.localization/messages_#{I18n.locale}" %>
我正在尝试使用 jQuery validate 验证表单,但它似乎没有以正确的语言返回错误消息。
在我的 Rails 应用程序中,我有:
Gemfile
gem 'jquery-validation-rails'
application.js
//= require rails-ujs
//= require turbolinks
//= require jquery
//= require bootstrap-sprockets
//= require jquery.validate
//= require jquery.validate.localization/messages_it
//= require jquery.validate.localization/messages_ja
//= require_tree .
我调用验证器:
document.addEventListener 'turbolinks:load', ->
$("#contact-form").validate
submitHandler: (form) ->
form.submit()
$('#first_name').rules 'add',
required: true,
maxlength: 15
$('#last_name').rules 'add',
required: true,
maxlength: 15
$('#entry_email').rules 'add',
required: true,
maxlength: 60
$('#phone-number').rules 'add',
required: true,
digits: true
我看到了错误消息,但即使我将页面区域设置切换为 en
或 it
,它们仍以日语显示。
出现的语言基本上是我在application.js文件中设置的最后一个语言。因此,如果我删除 //= require jquery.validate.localization/messages_ja
,则会收到意大利语的错误消息。
如何获取每个语言环境的错误消息?
如能帮助解决此问题,我们将不胜感激!
提前致谢
不要在您的 application.js 中加载 jquery 的翻译。直接在您的应用程序布局中执行
// in your layout file you have something like this:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
// additionally load translations based on given params
<% if params[:locale].present? %>
<%= javascript_include_tag "jquery.validate.localization/messages_#{params[:locale]}" %>
<% end %>
// OR loading based on I18n.locale
<%= javascript_include_tag "jquery.validate.localization/messages_#{I18n.locale}" %>