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>
任何帮助,将不胜感激!