如何在MS InfoPath 2013日期字段/选择器中限制今日起45天内日期?
在InfoPath 2013中限制日期选择范围并添加提示
我经常帮人解决InfoPath的这类字段限制问题,刚好你的需求很明确——限制日期只能选距离今日不超过45天的范围,还要给用户明确的提示。下面是一步步的实操方法,跟着做就行:
1. 给日期字段/选择器添加数据验证规则
首先打开你的表单模板,找到目标日期控件(不管是普通日期字段还是日期选择器,操作逻辑完全一致):
- 右键点击控件,选择数据验证;
- 在弹出的对话框里点击添加,创建新的验证规则;
- 在「条件」区域设置验证逻辑:
- 第一个条件:选择「日期」→「小于或等于」,然后点击旁边的
fx按钮打开公式编辑器,输入:today() + 45(这个公式会自动计算出今天往后推45天的日期); - 点击「添加条件」,再设置第二个条件:选择「日期」→「大于或等于」,同样用
fx输入:today()(确保用户不能选今天之前的日期;如果你的需求允许选过去45天内的日期,就把这个条件改成today() - 45);
- 第一个条件:选择「日期」→「小于或等于」,然后点击旁边的
- 注意两个条件要设置为与的关系,这样只有同时满足两个条件的日期才会被允许。
2. 设置用户提示消息
验证规则的逻辑搞定后,别忘了给用户清晰的提示:
- 切换到「用户消息」标签页;
- 输入提示文本,比如:
请选择距离今日不超过45天的日期(可选范围:今日起至45天内); - 选择提示方式:可以勾选屏幕提示(鼠标悬停控件时显示),或者消息框(用户输入不符合规则时弹出),也可以两个都选,确保用户能及时看到提醒。
额外说明
如果你的需求是允许用户选择今日前后45天的日期(比如过去45天到未来45天),只需要把第二个条件的公式改成today() - 45就行,这样验证逻辑就变成「日期≥今天-45天 且 日期≤今天+45天」。
设置完成后,保存并发布表单模板,用户在填写时如果选了不符合范围的日期,就会收到你设置的提示啦。
内容的提问来源于stack exchange,提问作者TrigerFish
相关产品推荐
相关产品推荐

