Javascript Rails在提交前验证表单_

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

我正在尝试验证我的表单_中的所有必要字段在提交之前是否已完成,并且95%已完成,但在检查和抛出警报之前仍提交

以下是表格的开头:

<%= 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
是什么?脚本块放在哪里?等