AngularJs引导数据采集器验证

AngularJs引导数据采集器验证,angularjs,datepicker,angularjs-directive,Angularjs,Datepicker,Angularjs Directive,我在输入字段上使用引导日期选择器(在此处找到:)。默认情况下,日期选择器允许输入日期。如果有效,则设置日期。否则,它会将日期设置为当前日期 我编写了一个指令,使用正则表达式只输入日期的字符: maskModelCtrl.$parsers.push(function(inputValue) { var val = maskRenderLogic(inputValue, mask, maxVal); setAndRender(maskModelCtrl, val); ret

我在输入字段上使用引导日期选择器(在此处找到:)。默认情况下,日期选择器允许输入日期。如果有效,则设置日期。否则,它会将日期设置为当前日期

我编写了一个指令,使用正则表达式只输入日期的字符:

maskModelCtrl.$parsers.push(function(inputValue) {
    var val = maskRenderLogic(inputValue, mask, maxVal);

    setAndRender(maskModelCtrl, val);
    return maskReturnLogic(val);
});
我写了一个指令,用一个模板标准化datepicker的输入字段:

angular.module('form.validation').directive('dateMask', ['$parse', function($parse) {
    return {
        restrict: 'E',
        scope: {
            date: '='
        },
        template: '<input ng-model="date" regex-mask="[^0-9 /]" max-length="10" bs-datepicker data-date-format="mm/dd/yyyy" placeholder="mm/dd/yyyy" >',
        replace: true
    };
}]);
angular.module('form.validation')。指令('dateMask',['$parse',函数($parse){
返回{
限制:'E',
范围:{
日期:'='
},
模板:“”,
替换:正确
};
}]);

问题是,日期选择器将任何键盘输入或日期选择转换为当前日期。(参见plnkr:)我不认为这些指令应该相互不兼容。

我知道您可能已经考虑过这一点,但我正在编写一个处理大量日期(输入、修改等)的应用程序,并且我测试了许多不同的日期选择器

有角度的UI引导日期选择器似乎是最具可塑性和可用性的

也就是说,您的指令应该利用$formatters和$parser:

标记:

<input date-validator type="text" ng-model="date"/>

我知道您可能已经考虑过这个问题,但我正在编写一个处理大量日期(输入、修改等)的应用程序,并且我测试了许多不同的日期选择器

有角度的UI引导日期选择器似乎是最具可塑性和可用性的

也就是说,您的指令应该利用$formatters和$parser:

标记:

<input date-validator type="text" ng-model="date"/>

“ngModel”后面缺少逗号,var validate=函数中缺少“var”。。。并在$formatters和$parser上引发异常。实际上,关于如何启动这两个系统的上下文并不清楚——它们是应该加载到控制器(?)还是如何。。。欢迎提供样品。但无论如何,还是要感谢您提供的关于正确方向的提示。“ngModel”后面缺少逗号,var validate=函数中缺少“var”。。。并在$formatters和$parser上引发异常。实际上,关于如何启动这两个系统的上下文并不清楚——它们是应该加载到控制器(?)还是如何。。。欢迎提供样品。但不管怎样,还是要谢谢你给我一个好方向的提示。