< input type=“date”max=“{max}}”>未设置最大日期

xfyts7mz  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(360)

我有以下html代码

<input class="col-5" type="date"
                   max="{{ vm.maxDate | date: 'yyyy-MM-dd' }}"
                   min="{{ vm.minDate | date: 'yyyy-MM-dd' }}"
                   ng-model="vm.endBy">

下面是controller中的angular js代码

vm.minDate = new Date(moment.utc().format(dateFormat));
vm.maxDate = new Date(moment.utc().format(dateFormat));
vm.endBy = new Date(moment.utc().format(dateFormat));

vm.maxDate.setDate(vm.minDate.getDate()+ 185);
vm.endBy.setDate(vm.minDate.getDate() + 185);

现在,我的日历显示到maxdate,日期选择为maxdate,但当我提交表单时,它显示为未定义。我还尝试在html中打印endby,但它没有显示maxdate。但是,对于maxdate之前的所有其他日期,它工作正常。
我不知道这是怎么回事。有人知道为什么会这样吗?是否最大验证未检查是否相等,为什么在我提交时在输入框中设置了endby日期,它显示未定义?

wkyowqbh

wkyowqbh1#

当您这样做时,您正在创建一个无效的日期

new Date(moment.utc().format( 'yyyy-MM-dd'));

尝试

vm.minDate = new Date();
vm.maxDate = new Date();
vm.endBy = new Date();

相关问题