如何在我拥有的AJAX表单上进行表单验证?就目前而言,我已经制作了一个客户jQuery验证器来检查有效的IP地址,但似乎验证只发生在初始页面加载或刷新页面时,这是完全错误的。
资产/ Javascript角/ tools.js
//Validation
jQuery.validator.addMethod('validIP', function(value) {
var split = value.split('.');
if (split.length != 4)
return false;
for (var i=0; i<split.length; i++) {
var s = split[i];
if (s.length==0 || isNaN(s) || s<0 || s>255)
return false;
}
return true;
}, alert('Invalid IP Address'));
$(".form_ip").validate({
rules: {
ip: {
validIP: true
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
视图/工具/ ping.js.erb
$(".output").html("<%= j (@results) %>");
视图/工具/形式/ _ping.html.erb
<%= form_tag ping_tool_path(1), role: "form", class: "form-inline form_ip", name: "ping-form", method: "post", remote: true do %>
<%= text_field_tag :ip, params[:ip], class: "form-control" %>
<%= submit_tag "Ping", name: nil, class: "btn btn-default" %>
<% end %>
答案 0 :(得分:0)
因为我不了解红宝石,所以我会尝试回答客户方面的问题。 您是否尝试在按钮单击时验证表单? 例如,有这样类似的代码?
<form class="form-inline form_ip" name="ping-form" method="post">
<input type="text" id="ip" class="form-control">
<input type="button" class="btn btn-default" onclick="$('.form_ip').validate(...)">