欧芹阻止提交输入验证

时间:2017-03-21 11:33:33

标签: javascript parsley.js

我正在尝试使用parsley来验证包含在DIV结构中的不同数量的输入(订单行项目)(主要表单是订单详细信息)。

由于这个原因,我将表单外部的数据转换为JSON并注入隐藏字段。一切都很好(包括服务器端验证)。

我遇到的问题是,在表单提交时,验证会一直运行,并根据需要显示错误,但表单会在提交过程中继续“失败”。

有没有办法查看页面上是否有任何错误并阻止页面提交继续?

以下是不起作用的内容:

$('#submit-form').on('click', function(e){
    e.preventDefault();

    // Validate line items
    $.each($('#lineItems').find('.input-group input'), function(i, val){
        $(val).parsley(parsleyConfig).validate();
    });

所有错误都显示但页面POST仍然存在。 但是,如果主窗体中的数据不好,提交时会弹出验证错误,由此设置:

// Validation
var parsleyConfig = {
    errorsContainer: function(pEle) {
        return pEle.$element.parent().siblings('.text-danger');
    }
};
$('#editForm').parsley(parsleyConfig);

我尝试使用'表单:提交'欧芹没有运气的事件......

    $('#editForm').parsley(parsleyConfig).on('form:submit', function(){
    // Validate line items
    $.each($('#lineItems').find('.input-group input'), function(i, val){
        $(val).parsley(parsleyConfig).validate();
    });
});

如果验证通过并且中止我的提交脚本,我似乎找不到获取返回值的方法......

1 个答案:

答案 0 :(得分:0)

在您的表单中:提交'事件监听器编写此代码:

//the validate() calls the error validation and add the error messages:
if ($('#editForm').parsley().validate() == false) {
    //Do nothing:
    return;
}