我想在將表單傳遞給服務器之前驗證表單的輸入,但它似乎沒有檢查輸入字段,也沒有報告錯誤。 我的指令代碼來創建自定義的驗證:在AngularJS中驗證表單的輸入
`var QUERY_REGEXP = /[A-Z,a-z,0-9]{1,20}/;
app.directive('q', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$validators.q = function(modelValue, viewValue) {
if (ctrl.$isEmpty(modelValue)) {
return true;
}
if (QUERY_REGEXP.test(viewValue)) {
return true;
}
return false;
};
}
};
});`
HTML的一樣:
<div ng-controller="CreditsController">
<div style="padding-top:20px" >
<form name='form' novalidate>
<b>Enter Name: </b><input id="creditq" ng-model='query1' name='query1' type="text" q />
<button id="Submit" ng-click='click()' ng-value='search' required>Search</button><br/><br/>
<span ng-show="form.query1.$error.query1">The value is not valid!</span>
</form>
</div>
我想不出什麼我丟失或做錯了。任何幫助,將不勝感激。
它是否進入$ validators.q函數,或者只是不顯示錯誤? – HankScorpio
我得到它的工作。 @bgoscinski指出了編碼錯誤。謝謝 – Anoop