Angularjs 日期选择器日期验证
如果在选择日期后,用户删除了从Datepicker中选择的日期的一半,例如,所选日期:2013年12月20日,用户手动从输入框中删除2013年,然后单击保存操作,是否有方法验证从Datepicker中选择的日期 现在,当我试图调试并捕获服务器端的自定义解析异常时,我从bean中获得的值已经为nullAngularjs 日期选择器日期验证,angularjs,datepicker,Angularjs,Datepicker,如果在选择日期后,用户删除了从Datepicker中选择的日期的一半,例如,所选日期:2013年12月20日,用户手动从输入框中删除2013年,然后单击保存操作,是否有方法验证从Datepicker中选择的日期 现在,当我试图调试并捕获服务器端的自定义解析异常时,我从bean中获得的值已经为null 您能告诉我如何在angular controller本身上解析此日期吗?您必须编写一个自定义验证指令: 以下指令采用在输入字段中设置的日期字符串。如果日期选择器使用其他方法,则必须稍微更改此指令 m
您能告诉我如何在angular controller本身上解析此日期吗?您必须编写一个自定义验证指令: 以下指令采用在输入字段中设置的日期字符串。如果日期选择器使用其他方法,则必须稍微更改此指令
myApp.directive('isDate', function () {
return {
require: 'ngModel',
link: function (scope, elem, attr, ngModel) {
function validate(value) {
var d = Date.parse(value);
// it is a date
if (isNaN(d)) { // d.valueOf() could also work
ngModel.$setValidity('valid', false);
} else {
ngModel.$setValidity('valid', true);
}
}
scope.$watch(function () {
return ngModel.$viewValue;
}, validate);
}
};
});
HTML:
日期无效
日期有效
我将我的日期选择器与jquery validate一起使用,工作起来很有魅力,也许你可以试试我使用的是angularjs。对不起,我在描述中遗漏了它。它一定要在表单元素中吗?我可以将该名称class='so'赋予输入类型本身吗?@user2507845您使用的是什么日期选择器?我希望禁用日期验证器,以便客户端日历实现仍能使用type=date
<form name="so">
<input type="text" ng-model="date" is-date required/>
<p ng-show="!so.$valid">Date is invalid!</p>
<p ng-show="so.$valid">Date is valid!</p>
</form>