Ruby on Rails 3.0 JQuery验证远程
问题描述:
我正在使用JQuery验证插件来验证我网站上的注册表单。Ruby on Rails 3.0 JQuery验证远程
我想使用远程调用来查看是否存在电子邮件。
但是,我有困难。
的形式保留返回消息“请输入一个有效的电子邮件地址”
我一直在关注这个教程:http://sleekd.com/tutorials/jquery-validation-in-ruby-on-rails/
下面是到目前为止我的代码:
JS文件
$(document).ready(function() {
$("#new_account").validate({
rules: {
"account[name]": {required:true},
"account[email]": {required:true, email:true, remote:"/check_email"},
"account[password]": {required:true},
"account[gender]": {required:true}
}
});
});
路线
match 'check_email/:email' => 'accounts#checkEmail', :as => :check_email
控制器
def checkEmail
account = Account.getAccountByEmail(params[:email])
respond_to do |format|
format.json {render :json => !account}
end
end
得到任何帮助。
谢谢
布赖恩
答
检查的getAccountByEmail
的输出,当你给它一个已知地址,当你给它通过rails console
一个新的电子邮件地址。为了始终返回true,您的变量account
必须是false
或nil
。那就是我要开始的地方。
答
不知道这对你有什么帮助(对不起),但肯定值得一试。但是,首先按照文森特的解决方案中的规定进行。帐户的价值可能是问题。
您是否检查过此用于客户端验证的gem。它在https://github.com/bcardarella/client_side_validations它易于使用,你甚至不需要写自己的js。
还有一个railscast http://railscasts.com/episodes/263-client-side-validations