鑑於這種標記...解釋角JS驗證這個明顯的矛盾
<form name="myForm">
<input type="text" name="myField" required ng-model="field1" />
</form>
我可以用下面的腳本訪問該字段的有效性...
myForm.myField.$error.required
但是,如果我的代碼是指令中,然後我需要的指令依賴於ngModel,我需要訪問像這樣的字段的有效性...
$ngModel.$valid.required
因此,第一種方法使得它看起來像驗證應用於表單元素,第二種方法使得它看起來好像在模型上定義了驗證。第一個似乎更準確,因爲如果我直接編輯模型,我可以循環驗證。
我發現$ ngModel。$有效以一個對象散列。它有一個名爲'required'的屬性,被設置爲true或false。 –
我認爲Angular JS已經犯了與ASP.net WebForms相同的錯誤。他們已經在UI上而不是在模型上進行了驗證。使用ASP.net MVC,UI驗證代碼是從模型屬性上定義的屬性生成的。 –