使用Rails和AJAX提交表单前的正则表达式
问题描述:
如何使用我拥有的AJAX表单进行表单验证?就像现在这样,我做了一个客户jQuery验证器来检查一个有效的IP地址,但似乎验证只发生在初始页面加载或者当我刷新页面时,这是完全错误的。使用Rails和AJAX提交表单前的正则表达式
资产/ Java脚本/ 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({
\t \t rules: {
\t \t \t ip: {
validIP: true
}
\t \t }
});
<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 %>
答
,因为我不知道红宝石,我会尽量回答客户端。 您是否尝试验证单击按钮上的表单? 例如,有这样一个类似的代码?
<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(...)">
尝试过,在页面加载时仍弹出验证警报。 – Godzilla74
这是因为您直接将它写入