我正在爲AngularJS驗證而苦苦掙扎。這裏是我的SSCCE HTML 5中(其中,因我的服務器端框架,必須是有效的XML):AngularJS字段驗證表達式在ng-show中似乎不起作用
HTML
<div ng-app="">
<form name="myForm" ng-controller="ValidationTest" novalidate="novalidate">
<input name="email" ng-model="myForm.email" type="email" required="required" />
<div>
Field:
<span ng-show="myForm.email.$valid">valid</span>
<span ng-show="myForm.email.$invalid">invalid</span>
<span ng-show="myForm.email.$pristine">pristine</span>
<span ng-show="myForm.email.$dirty">dirty</span>
</div>
<div>
Form:
<span ng-show="myForm.$valid">valid</span>
<span ng-show="myForm.$invalid">invalid</span>
<span ng-show="myForm.$pristine">pristine</span>
<span ng-show="myForm.$dirty">dirty</span>
</div>
</form>
</div>
CSS
input.ng-valid {
border-color: #0f0;
}
input.ng-invalid {
border-color: #f00;
}
input.ng-pristine {
background-color: #eef;
}
input.ng-dirty {
background-color: #fee;
}
的JavaScript
function ValidationTest($scope) {}
當我運行這種情況下,適用於表單元素的CSS類正確反映其驗證狀態,作爲對該表單做NG秀指令。但是,該字段的ng-show指令開始正確(顯示「無效」和「原始」),但是一旦我開始在字段中輸入內容,全部消失。據我所知,我這樣做是因爲documentation表明,所以有什麼問題?
您能否擴展/澄清您的答案? – Ahmad
我似乎有類似的問題,但您在回答中畫出的區別有困難 – Ahmad
增加了@Ahmad要求的澄清。 –