【问题标题】:Devise and Client_side_validation设计和客户端验证
【发布时间】:2012-08-21 07:26:04
【问题描述】:

您好,我使用 Devise gem 并想使用 Client_side_validation 我安装 gem 并放

//= require rails.validations

进入我的资产/javasctipt/application.js

并以我添加的形式

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true ) do |f| %>

我认为这就是我需要做的一切...... 但是当我分散注意力时 - 什么也没有发生(我的火虫中有一个警告)->

TypeError: settings is undefined
 .live('focusout', function() { $(this).isValid(settings.validators); })

不起作用 我哪里错了?

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-3.2


    【解决方案1】:

    同样的问题,正在调查中。

    在我这边,似乎是客户端验证导出的js,在我的情况下是 window['user_new'] 与表单的 id 不匹配 new_user

    所以当 rails.validation.js 尝试获取数据时 var settings = window[form.attr('id')]; 它失败了。

    [编辑]

    在设计视图中,替换

    = form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true) do |f|
    

    通过

    = form_for(resource, :validate => true) do |f|
    

    帮我修好了!

    不太清楚为什么:as =&gt; resource_name 会反转资源的名称?

    【讨论】:

    • = form_for(resource, :url => registration_path(resource_name), :validate => true) 做 |f| => 那是正确的字符串 - 我需要什么! => 谢谢人 =)))))))
    【解决方案2】:

    你用的是什么版本? 3.2.0.beta.4 为我解决了这个问题,对应的 github 问题here

    【讨论】:

    • gem 'client_side_validations' 没有任何版本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多