2017-03-21 187 views
1

我想用香菜來驗證包裝在一個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(); 
    }); 

所有的錯誤出現,但在專頁的帖子依然。 但是,如果在主窗體的數據是不行的,在提交,就會彈出驗證錯誤,由該設置:

// 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

你「表單中:提交'event listener write this code:

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