2015-09-25 52 views
3

有什麼辦法在使用ngModelOptions時觸發驗證?我的用例是在提交時更新ngModel的所有字段的表單(由於我想在用戶單擊Cancel按鈕時還原整個表單)。有了這個,我無法立即驗證我的領域。只有在模型更新時才驗證字段onSubmit。解決方案中是否有內置版本,或者是否應使用我的自定義實現?AngularJS ngModelOptions updateOn'submit'validateOn'default'

<form name="editForm" ng-submit="edit()"> 
    <input type="text" name="text" required maxlength="140" ng-model="myObject.text" 
     ng-model-options="{ updateOn: 'submit' }" /> 

    <button type="submit" ng-disabled="editForm.$invalid"> 
    Save 
    </button> 
</form> 

回答

0

我通常會做的是提交表單的視圖值的JS代碼,如果表單無效,則不要提交。因此,在HTML我添加上單擊屬性,如:

<button on-click="edit(editForm)"> 

,然後在JavaScript的

edit = function(editForm) { 
    editForm.$commitViewValue; 
    if (editForm.$valid) { // submit code } 
}