2017-02-03 97 views
0

我有一個簡單的輸入框形式。加載驗證

angular.module('main', []) 
 
    .controller('Ctrl', ['$scope', '$location', 
 
    function($scope, $location) { 
 

 
    } 
 
    ]);
.red-border { 
 
    border-color: red; 
 
}
<div ng-app="main"> 
 
    <div ng-controller="Ctrl"> 
 
    <form name="frm" novalidate="novalidate"> 
 
     <input type="text" required name="myname" ng-class="{'red-border':frm.myname.$error.$invalid}" /> 
 
     <br>{{frm | json}} 
 
    </form> 
 
    </div> 
 
</div>

我需要輸入框在紅色邊框的開頭,因爲它已經空了,但它並不能使它紅色的負荷。 當我測試它像這樣:ng-class="{'red-box':true}"它確實工作。

什麼是最好的做法,使其在一開始就觸發,還是我必須做所有的解決方法?

感謝

編輯:

這裏是我的代碼段。 https://jsfiddle.net/Ingeeg/afm7rhsw/8/

+0

我很懷疑你使用的角度1.0.3在任何生產中的應用,但是這是你列入什麼小提琴。你應該將小提琴更新爲你正在使用的*實際*版本,然後再將它作爲[mcve]呈現。 – Claies

+0

請注意,示例中必須附帶代碼,而不是第三方網站上的代碼。 –

+0

我對我的問題做了一個更正。謝謝 – INgeek

回答

1

角僅計算與ng-model指令輸入:

<form name="frm" novalidate="novalidate"> 
    <input type="text" required name="myname" 
      ng-model="myModel" 
      ng-class="{'red-border':frm.myname.$invalid}" /> 
</form> 

this working jsfiddle

+0

謝謝。 'frm.myname。$ invalid'也可以使用。 「ng-model」是必要的部分 – INgeek