【问题标题】:The rails way of doing client side validation (Rails 4 with simple_form)Rails 进行客户端验证的方式(带有 simple_form 的 Rails 4)
【发布时间】:2014-01-13 22:06:26
【问题描述】:

我是 Rails 新手并使用 Rails 4。我已经开始使用一些表单来创建/编辑一些模型,并添加了一些在服务器端可以正常工作的验证。

我认为 Rails 会内置一些东西来处理客户端验证 - 结果它没有。

我在 google 上搜索并发现不再维护的“client_side_validation”,我认为无论如何在 Rails 4 中都不起作用。

Rails 客户端验证似乎没有明显的库。那么处理这个问题的“Rails 方式”是什么?自己滚?使用jQuery复制逻辑客户端?使用 html5 验证并在不是他们的时候回退到服务器端?或者是否有我可以安装和使用的库(最好是与 simple_form 一起使用的库)?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    client_side_validations,但不再维护。可能最好的方法是使用一些 jQuery 插件,例如 jquery-validation

    【讨论】:

    • 我正在考虑使用 jquery。但我不喜欢我必须复制我的验证逻辑客户端
    • 目前情况并非如此(2017 年 10 月)。 client_side_validations 又回来了 :)
    • @EduardoCobuci 你在 rails 5 上试过这个 gem 吗?
    【解决方案2】:

    Rails 4 + 简单表单:要使用 simple_form 成功安装“客户端验证”,您应该直接从 Github 使用最新分支检查最新版本。

    已发布的 gem 不适用于 Rails >= 4.0

    gem 'client_side_validations', github: 'DavyJonesLocker/client_side_validations'
    gem 'client_side_validations-simple_form', github: 'DavyJonesLocker/client_side_validations-simple_form'
    

    确保您的 gem 文件不使用这些版本

    client-side Validation 3.2.5
    client_side_validations-simple_form 2.1.0
    

    这些版本不支持 rails 4.2.0

    更多详情请查看此链接, https://github.com/DavyJonesLocker/client_side_validations-simple_form/issues/41

    【讨论】:

      【解决方案3】:

      在 Rails 4 中实现此目的的一种方法是使用客户端验证 gem:http://rubygems.org/gems/rails4_client_side_validations

      这里的这个人正在使用它:Client Side Validations and Rails4

      Railscasts 在这里提供了一个很好的教程(Rails 3): http://railscasts.com/episodes/263-client-side-validations

      【讨论】:

      • 那个 railscast 不错,但不幸的是有点过时了。我点击了那个在 stackoverflow 上提问的人的链接 - 并且说明有效。我只是认为会有一种稳定的、标准的 rails 方式来做这件事,因为它很常见
      【解决方案4】:

      我能够使用目前非常活跃的原始 client_side_vlaidations 的一个分支。我正在使用最新版本的 simple_form、rails 4.1.8 和这个client_side_validations。使用基本配置进行简单设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-01
        相关资源
        最近更新 更多