Kendo AngularJS DatePicker自定义验证
发布时间:2020-12-17 16:57:46 所属栏目:安全 来源:网络整理
导读:如何为Kendo Angular指令DatePicker进行自定义验证?我想实现以下示例,但使用DatePicker的Angular指令版本: KendoUI DatePicker validation when multiple date fields are on a page 任何帮助,将不胜感激. 解决方法 这就是我使用自己的模板和验证实现基于K
如何为Kendo Angular指令DatePicker进行自定义验证?我想实现以下示例,但使用DatePicker的Angular指令版本:
KendoUI DatePicker validation when multiple date fields are on a page 任何帮助,将不胜感激. 解决方法
这就是我使用自己的模板和验证实现基于KEndo的Datepicker的自定义Datepicker的方法:
appModule.directive('nemoDatePicker',function () { return { restrict: 'E',require: '?ngModel',scope: { 'name': '@','text': '@','ngModel': '=',},templateUrl: '/App/nemo/nemoDatePicker.html',link: function (scope,element,attrs,ngModel) { },controller: function ($scope) { $scope.error = function (name) { var s = $scope.editor[name]; return $scope.editor.$invalid && $scope.editor.$dirty ? "has-error" : ""; }; } }; }); appModule.directive('kendoDateValidator',['$sce',function ($sce) { return { restrict: 'A',// only activate on element attribute require: '?ngModel',// get a hold of NgModelController link: function (scope,ngModel) { if (!ngModel) return; // do nothing if no ng-model // Specify how UI should be updated ngModel.$render = function () { //element.html($sce.getTrustedHtml(ngModel.$viewValue || '')); }; // Listen for change events to enable binding element.on('blur keyup change',function () { scope.$evalAsync(read); }); read(); // initialize function read() { if (!element.val()) return; const startTime = performance.now(); if (!isDate(element.val())) { //console.log(element.val() + " bad"); ngModel.$setValidity('date',false); } else { //console.log(element.val() + " good"); ngModel.$setValidity('date',true); } const duration = performance.now() - startTime; //console.log("read took " + duration + " ms"); } function isDate(x) { var d = kendo.parseDate(x,"dd/MM/yyyy"); return d instanceof Date; }; } }; }]); <div ng-form="editor"> <div class="Box" ng-class="error(name)"> <div class="SubTitle"> <div class="DirectiveIcon1"> <span class="glyphicon glyphicon-calendar"></span> </div> {{text}} </div> <input kendo-date-picker culture="he-IL" k-format="'dd/MM/yyyy'" id="{{name}}" name="{{name}}" ng-model="ngModel" required kendo-Date-Validator class="form-control"/> <div> <div> <span class="help-block" ng-show="editor.$error.required && editor.$dirty">??? ????</span> <span class="help-block" ng-show="editor.$error.date">?? ????? ?????</span> </div> </div> </div> </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |