Javascript 设置无效的日期字符串HTML5日期输入
我想知道在一些JS检查之后,是否可以将无效的日期字符串设置为HTML5日期输入,例如“今天”,而不是显示XX-XX-XXXX日期 请注意,我使用的是angular-1.6,它使用的是内置指令,这使得这种攻击更难实现Javascript 设置无效的日期字符串HTML5日期输入,javascript,angularjs,html,date,Javascript,Angularjs,Html,Date,我想知道在一些JS检查之后,是否可以将无效的日期字符串设置为HTML5日期输入,例如“今天”,而不是显示XX-XX-XXXX日期 请注意,我使用的是angular-1.6,它使用的是内置指令,这使得这种攻击更难实现 <input id="dateNative" type="date" ng-model="date.selectedDate" min="{{minDate | date:'yyyy-MM-dd'}}"> function Controller($s
<input id="dateNative"
type="date"
ng-model="date.selectedDate"
min="{{minDate | date:'yyyy-MM-dd'}}">
function Controller($scope, $log, $element, $document) {
$scope.date = {};
$scope.minDate = new Date();
this.$postLink = () => {
this.dateCtrl = angular.element($document[0].getElementById('dateNative')).controller('ngModel');
this.dateCtrl.$parsers.unshift(date => {
if (moment(new Date()).isSame(date, 'day')) {
return 'Immediately';
}
return date;
});
};
}
功能控制器($scope、$log、$element、$document){
$scope.date={};
$scope.minDate=新日期();
此。$postLink=()=>{
this.dateCtrl=angular.element($document[0].getElementById('dateNative')).controller('ngModel');
this.dateCtrl.$parsers.unshift(日期=>{
if(时刻(新日期()).isname(日期,'day')){
立即返回;
}
返回日期;
});
};
}
尝试将输入的类型
更改为文本
this.dateCtrl.$parsers.unshift(date => {
if (moment(new Date()).isSame(date, 'day')) {
$element[0].type = 'text';
return 'Immediately';
}
$element[0].type = 'date';
return date;
});
尝试将输入的
类型
更改为文本
this.dateCtrl.$parsers.unshift(date => {
if (moment(new Date()).isSame(date, 'day')) {
$element[0].type = 'text';
return 'Immediately';
}
$element[0].type = 'date';
return date;
});
元素可用于定义输入类型
<input id="dateNative"
type="{{date.type}}"
ng-model="date.selectedDate"
min="{{minDate | date:'yyyy-MM-dd'}}" />
元素可用于定义输入类型
<input id="dateNative"
type="{{date.type}}"
ng-model="date.selectedDate"
min="{{minDate | date:'yyyy-MM-dd'}}" />
像这样,我将丢失输入日期,特别是用户手动输入日期的移动体验…我们不能同时使用这两种方式…无效值并保留
日期
类型。那就得想别的办法了。也许使用
谢谢,但这不适合我,UI团队不会接受添加标签来显示所选日期:DIdea仅对无效值使用标签(顶部输入)。。。。否则它将不会像这样可见,我将丢失输入日期,特别是用户将手动输入日期的移动体验…我们不能同时使用这两种方式…无效值并保留日期
类型。那就得想别的办法了。也许使用
谢谢,但这不适合我,UI团队不会接受添加标签来显示所选日期:DIdea仅对无效值使用标签(顶部输入)。。。。否则它将不可见谢谢,这很有帮助,但它只需要做一些工作使其更具动态性:)我建议在附加到
元素的内部进行动态类型更改。避免在视图控制器中执行DOM操作。有关更改
类型的指令示例,请参阅。谢谢,这很有帮助,但需要做一些工作才能使其更加动态:)我建议在附加到
元素的内部执行动态类型更改。避免在视图控制器中执行DOM操作。有关更改
类型的指令示例,请参阅。