php - 将我的日期输入限制为仅接受 4 个“年份”变量而不是 6 个
问题描述
我正在创建一个包含日期输入字段的表单。我已成功将其设置为采用 yyyy-mm-dd 格式,但是,当输入盯着年份的日期时,我的年份将接受六个值,例如 yyyyyy-mm-dd。这会造成两种糟糕的用户体验。
- 如果用户想简单地输入他们的日期“2020-01-18”,那么当他们输入它时,它将最终成为“202001-12-01” 年份已经接受了年份和月份值,然后默认月份值改为“12”,因为输入了日期值“18”,而日期值最终是当前日期。
- 如果用户输入他们的年份“2020”然后点击选项卡转到月份,它将成功导航到他们输入“12”的日期字段。但是,如果/当他们再次点击选项卡转到当天,它会将它们发送到下一个输入字段而不是日期,因为我当前的设置会将输入光标从月份字段中移动到当天场地。
我的日期输入字段代码是:
HTML + PHP
<!-- Date of Birth -->
<label for="dateOfBirth">Date of Birth</label>
<span class="Error">* <?php echo $dateOfBirthErr; ?></span>
<br>
<input type="date" id="dateOfBirth" name="dateOfBirth" value="<?php echo date('Y-m-d'); ?>" />
每个浏览器都会出现同样的问题。谢谢,anoyone,你的帮助!
解决方案
解决方法是为max=
您的日期选择器添加一个值。
<input type="date" id="dateOfBirth" name="dateOfBirth"
value="2019-01-17" max="9999-12-31"/>
上面的示例将阻止在字段中提交任何 5 或 6 位日期,用户将被迫在提交之前更正其明显的拼写错误。
推荐阅读
- php - 如何在 php 中创建动态字符串,如示例?
- postgresql - KeystoneJS 5 中 Knex 适配器的 Postgresql 错误:'错误:无法读取未定义的属性'find''
- mysql - 错误代码1111:组函数sql的使用无效
- python - 使用正则表达式从使用 Python 的日志文件中提取文件名
- c++ - 编译时收到警告
- scala - 访问无法访问类型信息的类时出现错误
- node.js - Twilio Call,为 xml 使用自定义端点
- swift - Swift:解码从 GameKit 发送的消息
- office365 - 用于 Office 365 的本地解决方案的 Office 插件部署
- iis-10 - 禁用 IIS10 的“Vary”标头