Rails表单字段验证和单击处理程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails表单字段验证和单击处理程序相关的知识,希望对你有一定的参考价值。
我有一个form_tag,其中包含一些必填字段,如下所示
<% form_tag url do %>
<%= text_field_tag "user[name]", user[:name], :required => true %>
<%= submit_tag 'Continue', :class => 'submit_button' %>
<% end %>
当我提交表格时,通过抛出错误表示该字段是强制性的,它可以正常工作。但是当我使用click事件绑定提交按钮时,所需的=> true不再起作用。例如。
$(".submit_button").bind("click",function(e){
e.preventDefault();
//Have some code here, I dont want to put field validations here
$("form").submit();
});
我不想为每个字段添加js验证,因此我如何使attibute所需的默认rails工作。如果我在这里遗漏了什么,请建议
答案
当您调用e.preventDefault()
时,您会阻止浏览器的默认事件处理以进行验证并提交。在您的示例中,您只能显式调用表单提交,而不是验证。
您可以让浏览器处理此问题,方法是不要显式调用e.preventDefault
和submit
,或者只是以编程方式调用验证
$("form")[0].checkValidity();
(Qazxswpoi)。
请注意,您需要在浏览器元素上调用source而不是在jQuery元素上调用。
根据您希望使用代码实现的内容,使用表单的提交API(如checkValidity()
示例)也很方便,因此您不仅要将其链接到提交按钮,还要在表单提交上调用它。
以上是关于Rails表单字段验证和单击处理程序的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用表单的情况下从 Rails 应用程序发布到外部 url