angularjs添加日期自定义验证,以检查星期几是否在范围内
你好,我想添加一个自定义验证器到日期输入正确的方式。angularjs添加日期自定义验证,以检查星期几是否在范围内
我使用默认的验证这种结构:
<div>
<input type="text" name="firstName" ng-model="appointmentForm.firstName" ng-minlength=2 required>
</div>
<div role="alert">
<span class="error" ng-if="submitted && form.firstName.$error.minlength" >
Vul een geldige voornaam
</span>
</div>
...
所以我在寻找一种方式,如果输入型日期的工作日为周二至周日这样的范围内,我可以验证:
<input type="date" name="date" ng-model="appointmentForm.date" validate-weekday>
如何在角度上实现自定义验证器?
从开始使用指令开始,您肯定是在正确的路径上。 所有指令将做的是将验证处理程序附加到验证程序集合中,其逻辑为
我已创建了一个存根代码,您可以使用它来启动该进程。你将不得不修改实际的验证代码来表示你的业务逻辑
app.directive('validateWeekday', [function() {
function validate(value) {
//replace me with correct logic
return value == 'this is valid';
}
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, ele, attrs, ngModel) {
ngModel.$validators.invalidWeekday = function (modelValue) {
return validate(modelValue);
}
}
}
}]);
和HTML会像
<form name="appointmentForm">
<input type="text" name="dateOfPurchase" ng-model="dateOfPurchase" validate-weekday>
<div class="error-message" ng-show="appointmentForm.dateOfPurchase.$error.invalidWeekday">Valid date is required.</div>
</form>
也可以看看在角1.3 ngMesages等验证好东西,到让你的代码更优雅
是的,这看起来正是我在找的东西。 但是验证函数中的正确返回值是什么?我不明白你为什么要检查这个值是否“有效”。 – Kingalione
我给你的只是一个存根代码。你将不得不把你的逻辑做验证来验证功能。我假设你将有一个数组中的所有有效日期,并检查传入的日期与数组中的值。 –
忘记我的问题,我把它带到工作。谢谢 – Kingalione
退房MomentJS :)它肯定会帮你 – rmuller
虽然不完全一样的上下文,但是[这个答案](http://*.com/a/29775049/1526037)可能会有所帮助。 –