0
正在調用驗證程序,並按預期返回true/false。但是,即使驗證器返回false,html仍然會按預期顯示類「ng-valid」而不是「ng-invalid」,以使ng消息正常工作。當我使用標準的「必需」錯誤時,沒有問題,但任何自定義功能都無法正常工作。
在調試時,我也發現$錯誤正在更新,但需要更新,但不是更新日期。
我已經創建了具有自定義驗證,daysofmonth一個組成部分,看起來像以下:
this.ngModel.$validators.daysofmonth = function(modelValue) {
modelValue = modelValue || '';
let pieces = modelValue.split(',');
let isValid = true;
pieces.forEach(function(piece) {
let numberValue = parseInt(piece, 10);
if (isNaN(numberValue)) {
if (piece.trim() && piece.trim() !== 'L') {
isValid = false;
}
} else if (numberValue < 1 || numberValue > 31) {
isValid = false;
}
});
return isValid;
};
的HTML看起來像:
<form name="form">
<div>
<input name="daysofmonth" ng-model="ctrl.daysOfMonth">
</div>
<ng-messages for="form.daysofmonth.$error">
<ng-message when="daysofmonth">Please enter valid days.</ng-message>
</ng-messages>
</form>
任何幫助,將不勝感激!