[英]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.