阻止表单提交,但保留带有clientsidevalidations gem的表单验证

时间:2019-04-08 18:12:10

标签: javascript ruby-on-rails client-side-validation

我有一个模型场景,在它的编辑视图中可以选择添加关联的成本itens,但是我没有提交成本itens表单,而是停止它以获取其输入值来创建js对象,然后将其放置在提交方案表单时作为参数发送的数组。 第一次添加成本项目时,客户端验证会在表单上进行,而下一次则不会验证。

我尝试使用resetClientSideValidations()方法进行重置,但是它仍然允许替换无效数据。 我在控制台上进行了检查,当发生错误时,clientsidevalidations认为该表格有效。

这是我用来从表单获取数据,重置它并阻止提交的方法。运行一遍后,验证将停止工作。

$('#cost-item-form').submit(function(e) {
  cost_items.push({
    name: $('input#scenario_cost_item_name').val(),
    quantity: $('input#scenario_cost_item_quantity').val()
    });

    resetCostItemForm();
    renderCostItemGrid();

    return false;
});

这是我重置表单的方式。

function resetCostItemForm() {
  $('input#scenario_cost_item_name', '#cost-item-form').val('');
  $('input#scenario_cost_item_quantity', '#cost-item-form').val('');
}

有一种方法可以在重置表单后重新启用客户端验证?

0 个答案:

没有答案