我試圖得到一些手在軌jQuery的客戶端驗證錯誤消息..jQuery的驗證插件沒有顯示在軌道
我下面的代碼工作正常 http://jsfiddle.net/hr1383/5CFRB/1/
「顯示錯誤消息正確」
現在我正在嘗試做同樣的事情。 因爲我不確定把JS和CSS放在哪裏,所以我決定把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.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>
而且我_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>
以下表格轉換成HTML作爲顯示
http://jsfiddle.net/hr1383/5CFRB/1/
這似乎沒有工作,始終進行服務器調用而不顯示錯誤消息。
爲什麼會發生? 由於窗體不屬於某個模型對象,所以我不知道在這裏把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>
感謝 Harshit
爲什麼你多次加載文件並按錯誤的順序? –
@Jani - 你的意思是JS文件?我不確定訂單和yup是否會刪除那些不需要的。 – harshit
您的jsFiddle選擇的是Mootools而不是jQuery,但是隨後您將jQuery加載爲外部資源。請閱讀如何正確使用jQuery和jQuery插件。 – Sparky