0

嗨,我使用 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); })

在我有错误的地方不起作用?

4

2 回答 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 => resource_name反转资源的名称?

于 2012-08-22T13:02:25.180 回答
0

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

于 2012-08-22T14:49:05.220 回答