我正在尝试使用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();
});
});
如果验证通过并且中止我的提交脚本,我似乎找不到获取返回值的方法......
答案 0 :(得分:0)
在您的表单中:提交'事件监听器编写此代码:
//the validate() calls the error validation and add the error messages:
if ($('#editForm').parsley().validate() == false) {
//Do nothing:
return;
}