2017-08-29 134 views
-1

我有一個表單有許多不同的輸入字段(其中一些沒有真正的輸入,但表現爲輸入)。驗證一個從提交外部提交時提交

當從常規按鈕點擊每個字段提交通過的角度驗證和HTML驗證 - 如需要,NG-最大長度,使用MINLENGTH等。

現在,我們要添加一個快捷方式提交在鍵盤上單擊形成。該代碼從HTML後面的控制器運行。我如何從那裏檢查表單的有效性?我知道我可以通過document.forms["myForm"]獲得表格,但我可以用它來檢查與。相同的有效性。$ valid在html中工作嗎?我能以某種方式在html上顯示錯誤消息嗎?

我嘗試添加jQuery驗證插件,這一點,但看來似乎是太多的工作,以改變整個驗證機制

回答

1

不要document.forms["myForm"]獲取表單」。 這是不好的做法,中使用DOM操作一個控制器 您可以使用$scope.myForm來訪問表單,但要注意它將被異步初始化 但是,當您想要在鍵盤單擊後訪問表單時,這應該不是問題 當您訪問與$scope.myForm形式可以迭代拋出$$controls。在這個對象中都是表單域。當您使用的角度不試使用JQuery的一切

angular.forEach($scope.myForm.$$controls, function(value, key) { 
    value.$setDirty(); 
    value.$setTouched(); 
}); 

還有一提醒:例如,你可以不喜歡這樣。如果你想使用插件搜索角插件

+0

非常感謝你! –