2
這裏工作是一個簡單的形式輸入所需:獲取角表單驗證不使用ngSubmit
<div ng-controller="MainCtrl">
<form name="add-entry" press-enter="add_entry()">
<input type="text" ng-model="amount" required />
<!-- <input type="submit" value="Add" /> -->
</form>
</div>
的形式使用自定義pressEnter指令,因爲我不願意在我的標記使用的<input type="submit" />
,即使我可以用絕對定位來隱藏它,而不是使用ngSubmit
而不是pressEnter
將需要其中的一個來觸發表達式。現在
angular.module('app', []).directive('pressEnter', function() {
return function(scope, element, attrs) {
element.bind("keydown keypress", function(event) {
if(event.which === 13) {
scope.$apply(function(){
scope.$eval(attrs.pressEnter);
});
event.preventDefault();
}
});
};
});
的問題是,required
屬性也並非沒有ngSubmit
考慮。請參閱http://jsfiddle.net/w6QHD/12/ - 您可以看到,按輸入空輸入仍會觸發add_entry()
。該表格僅在使用ngSubmit
而不是pressEnter
並取消註釋<input type="submit">
時進行驗證。
如何在不使用ngSubmit
的情況下進行表單驗證?
謝謝,我不知道這是HTML5驗證是否觸發原始錯誤消息。 – Elise