
以下用于jquery验证目的的插件.
https://github.com/posabsolute/jQuery-Validation-Engine
在我的控制器中,我使用以下方法检查用户名可用性.
def check_name name = params[:name] if name.strip == "" render :Json => { :available => false } return end user = User.find(:first,:conditions => [ "name = ?",name]) if user render :Json => ["name",false,"This name is already taken"] else render :Json => ["name",true,""] endend 这是编写方法的正确方法吗?我检查了许多用户名可用性
在这个论坛上的帖子,但没有任何成效.
该插件的第一个功劳:https://github.com/posabsolute/jQuery-Validation-Engine.
在应用程序中使用该插件进行验证.
在视图中,我有
<%= f.username_fIEld :username,:ID => 'free-user',:placeholder=>'User name',:class => "valIDate[required,AJAX[AJAXUserCall]]","data-prompt-position" => "topleft:0,9"%>
在同一视图中,在java脚本中:
<script type="text/JavaScript"> $(document).ready(function(){ $("#free-user").bind("jqv.fIEld.result",function(event,fIEld,errorFound,prompText){ if(errorFound){ $(".continue").attr("Disabled",false); // .continue is a button } else{ $(".continue").attr("Disabled",true); } }) });</script> 在routes.rb中,我有以下路线.
match '/check-user' =>"users#check_user" // creating route for AJAX call
在jquery.valIDationEngine-en.Js文件中,我有以下内容:
"AJAXUserCall": { "url": "/check-user",// you may want to pass extra data on the AJAX call "alertText": "* This user is already taken","alertTextLoad": "* ValIDating,please wait" }, 在用户控制器中,我有以下方法
def check_user user = params[:fIEldValue] user = User.where("username = ?",username).first if user.present? render :Json => ["free-user","This User is already taken"] else render :Json => ["free-user",""] endend 总结 以上是内存溢出为你收集整理的ruby-on-rails – 使用rails中的jquery和Ajax检查用户名可用性全部内容,希望文章能够帮你解决ruby-on-rails – 使用rails中的jquery和Ajax检查用户名可用性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)