jquery验证插件未在rails中显示错误消息
我正在尝试在rails中使用Jquery客户端验证 我下面的代码运行良好 “正确显示错误消息” 现在我也在试着做同样的事情。 因为我不确定将各自的JS和CSS放在哪里,所以我决定先放在application.html.erb文件中开始jquery验证插件未在rails中显示错误消息,jquery,ruby-on-rails-3,jquery-plugins,jquery-validate,Jquery,Ruby On Rails 3,Jquery Plugins,Jquery Validate,我正在尝试在rails中使用Jquery客户端验证 我下面的代码运行良好 “正确显示错误消息” 现在我也在试着做同样的事情。 因为我不确定将各自的JS和CSS放在哪里,所以我决定先放在application.html.erb文件中开始 <html> <head> <title>Umvox</title> <%= stylesheet_link_tag "application" %> <
<html>
<head>
<title>Umvox</title>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
<%= javascript_include_tag "jquery.validate" %>
<%= javascript_include_tag "jquery.validate.min" %>
<%= javascript_include_tag "jquery-1.7.2" %>
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"%>
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"%>
<%= javascript_include_tag :defaults %>
<%= csrf_meta_tags %>
<script type="text/javascript">
$(document).ready(function() {
$("#company_form").validate({
rules: {
"company": {required:true}
},
messages:{
company: "Enter Company name"
}
});
});
</script>
<style type="text/css">
#company_form {background-color: aqua}
#company_form label { width: 250px; }
#company_form label.error, #company_form input.submit { margin-left: 253px; }
</style>
</head>
<body>
<%= render "shared/dashboard_button_login" %>
<%= yield %>
</body>
</html>
Umvox
$(文档).ready(函数(){
$(“#公司表格”)。验证({
规则:{
“公司”:{必填项:true}
},
信息:{
公司:“输入公司名称”
}
});
});
#公司表格{背景色:浅绿色}
#公司表格标签{宽度:250px;}
#company_form label.error,#company_form input.submit{左边距:253px;}
而我的_form.html.erb部分包含
<%= form_tag("/locations/search" , :remote=> true, :id=>"company_form", :name=>"company_form", :form_to_validate=>'location') do %>
<table>
<tr>
<th>Company</th>
<th>City</th>
<th>Country</th>
<th>ZipCode</th>
</tr>
<tr>
<td><%= text_field_tag :company %></td>
<td><%= text_field_tag :city %></td>
<td><%= text_field_tag :country %></td>
<td><%= text_field_tag :zipcode %></td>
<td><%= submit_tag 'search'%></td>
</tr>
</table>
true,:id=>company\u form,:name=>company\u form,:form\u to\u validate=>location')do%>
单位
城市
国家
ZipCode
以下表单将转换为html,如中所示
这似乎不起作用,总是在不显示错误消息的情况下进行服务器调用
为什么会这样?
因为表单不属于某个模型对象,所以我不知道在这里放置js
更新:我将application.html.erb更改为只包含两个所需文件:
<html>
<head>
<title>Umvox</title>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
<%= javascript_include_tag "jquery.validate" %>
<%= javascript_include_tag "jquery-1.7.2" %>
<%= csrf_meta_tags %>
<script type="text/javascript">
$(document).ready(function() {
$("#company_form").validate({
rules: {
"company": {required:true}
},
messages:{
company: "Enter Company name"
}
});
});
</script>
<style type="text/css">
#company_form {background-color: aqua}
#company_form label { width: 250px; }
#company_form label.error, #company_form input.submit { margin-left: 253px; }
</style>
</head>
<body>
<%= render "shared/dashboard_button_login" %>
<%= yield %>
</body>
</html>
Umvox
$(文档).ready(函数(){
$(“#公司表格”)。验证({
规则:{
“公司”:{必填项:true}
},
信息:{
公司:“输入公司名称”
}
});
});
#公司表格{背景色:浅绿色}
#公司表格标签{宽度:250px;}
#company_form label.error,#company_form input.submit{左边距:253px;}
谢谢
HarshitEhrm,我不是ruby方面的专家,但似乎您包括了这两个方面:jquery.validate和jquery.validate.min,以及两个不同版本的jquery。那不太好。但是出于好奇,为什么不在jquery之后弹出jquery验证?我同意povilasp,您不必同时包含jquery.validate和jquery.validate.min文件。 它们之间唯一的区别是前者是调试版本,而后者是压缩版本
除了,如果您的rails版本是全新的,您不必显式地包含jquery,因为jquery总是rails使用的js库。(对不起,我不记得确切的版本)为什么要多次按错误的顺序加载文件?@Jani-你是说JS文件?我不确定订单和yup是否会删除那些不需要的。您的JSFIDLE选择的是Mootools而不是jQuery,但随后您将jQuery作为外部资源加载。请阅读如何正确使用jQuery和jQuery插件。