2015-09-25 19 views
3

Есть ли способ запуска проверки при использовании ngModelOptions? В моем случае используется форма со всеми полями, обновляющими ngModel при отправке (из-за того, что я хотел бы вернуть всю форму, когда пользователь нажимает кнопку «Отмена»). Имея это, я не могу подтвердить мои поля мгновенно. Поля проверяются только тогда, когда модель обновляется, таким образом, на Submit. Есть ли встроенное решение или я должен использовать свою собственную реализацию?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)"> 

, а затем на яваскрипт

edit = function(editForm) { 
    editForm.$commitViewValue; 
    if (editForm.$valid) { // submit code } 
} 
Смежные вопросы