【问题标题】:jQuery Validate not setting correct languagejQuery Validate 没有设置正确的语言
【发布时间】:2018-03-07 10:46:24
【问题描述】:

我正在尝试使用 jQuery validate 验证表单,但它似乎没有以正确的语言返回错误消息。

在我的 Rails 应用程序中,我有:

宝石文件

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,则会收到意大利语错误消息。

如何获取每个区域设置的错误消息?

任何解决此问题的帮助将不胜感激!

提前致谢

【问题讨论】:

  • 基于当前设置的 I18n.locale 你应该在你的 html 中设置它。然后你也将语言保存为 js var。使用该 js var,您可以正确使用验证器:stackoverflow.com/questions/6181886/…
  • 我添加了一个有两种可能性的答案

标签: jquery ruby-on-rails coffeescript jquery-validate


【解决方案1】:

不要在 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}" %>

【讨论】:

  • 这行得通,只需将它们也添加到 assets.rb 中的Rails.application.config.assets.precompile。谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-03-06
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
相关资源
最近更新 更多