AngularJS ngModelOptions updateOn 'отправить' validateOn 'по умолчанию'

Есть ли способ вызвать проверку при использовании ngModelOptions? Мой вариант использования - иметь форму со всеми полями, обновляющими ngModel при отправке (из-за того, что я хотел бы вернуть всю форму, когда пользователь нажимает кнопку Отмена). Имея это, я не могу мгновенно проверить свои поля. Поля проверяются только тогда, когда модель обновляется, таким образом, onSubmit. Есть ли какое-либо решение для сборки или мне следует использовать собственную реализацию?

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

person kuceram    schedule 25.09.2015    source источник


Ответы (1)


Обычно я фиксирую значение представления формы в коде js, и если форма недействительна, не отправляйте. Таким образом, в HTML я добавляю атрибут при щелчке, например:

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

А потом на javascript

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