Javascript Rails在提交前验证表单_
我正在尝试验证我的表单_中的所有必要字段在提交之前是否已完成,并且95%已完成,但在检查和抛出警报之前仍提交 以下是表格的开头:Javascript Rails在提交前验证表单_,javascript,jquery,ruby-on-rails,forms,Javascript,Jquery,Ruby On Rails,Forms,我正在尝试验证我的表单_中的所有必要字段在提交之前是否已完成,并且95%已完成,但在检查和抛出警报之前仍提交 以下是表格的开头: <%= form_for Product.new, :options => {:id => "new_listing", :onSubmit => "validateForm()"}, :url => {:action => "create"}, :html => {:multipart => true}, :build
<%= form_for Product.new, :options => {:id => "new_listing", :onSubmit => "validateForm()"}, :url => {:action => "create"}, :html => {:multipart => true}, :builder => Judge::FormBuilder do |f| %>
{:id=>“new_listing”,:onSubmit=>“validateForm()”},:url=>{:action=>“create”},:html=>{:multipart=>true},:builder=>judget::FormBuilder do | f |%>
下面是JavaScript:
<script>
validateForm = function(){
judge.validate(document.getElementById('name_input'), {
valid: function(element) {
element.style.border = '1px solid green';
},
invalid: function(element, messages) {
element.style.border = '1px solid red';
alert(messages.join(','));
}
});
};
</script>
validateForm=函数(){
judge.validate(document.getElementById('name\u input'){
有效:函数(元素){
element.style.border='1px纯绿色';
},
无效:函数(元素、消息){
element.style.border='1px实心红色';
警报(messages.join(',');
}
});
};
如果name_输入字段在提交到后端之前尚未填写,我现在需要做什么来确保引发警报?与布尔值有关,但我不是这里的专家。当验证无效时,您可以尝试返回false。当您使用
onSubmit
javascript函数时,它将继续执行下一步的操作,除非js返回false。这是一个盲目的猜测,但这有可能奏效:
judge.validate(document.getElementById('name_input'), {
...,
invalid: function(element, messages) {
...
return false;
}
});
是的,但我正在寻求有关如何编写此代码的帮助。因此,您希望您的javascript类似于:
if(document.getElementById('name_input').text()==“”){return false;}else{return true;}
并且您可以在返回之前发出任何想要的警报。为什么您要遵循这些避免Rails进行验证的路线,并使用jQuery?根据给定的信息,很难调试问题。脚本块中的judge
是什么?脚本块放在哪里?等