繁体   English   中英

欧芹阻止提交输入验证

[英]Parsley prevent submit on input validation

我正在尝试使用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);

我尝试过使用欧芹的'form:submit'活动也没有运气......

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

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

在你的'form:submit'事件监听器中写下这段代码:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM