如何在没有javascript的情况下以jsp形式在客户端验证日期?

时间:2018-04-06 07:50:02

标签: javascript html html5 jsp servlets

即使我使用

,日期选择器也不会显示
  <input type="date" name="dob" required>  

可能对您有所帮助的其他信息: 它位于JSP文件中 我使用的是tomcat v7.0 我需要在不使用JavaScript的情况下验证日期吗?

我尝试使用文本输入并设置指定的格式但是如何在那里添加范围? (2月问题的最大值和最大值?)

使用组合框可以解决这个问题吗?如何根据另一个组合框更改一个组合框的值选项? (日期选项取决于月份和/或年份)

非常感谢任何帮助。

P.S。由于它是注册表单的一部分,因此我被建议不要使用JavaScript验证(因为它可以被禁用)

编辑:我想我会用正则表达式。我在这里找到了一个,这个问题的第二个答案:Regular Expression to match valid dates

1 个答案:

答案 0 :(得分:1)

  

日期选择器未显示

我测试时会这样做。也许你正在使用a browser which does not support it

  

我尝试使用文本输入并设置指定的格式但是如何在那里添加范围?

如果“格式”是指pattern,那么您需要一个包含多个部分的复杂正则表达式。

e.g。 0后跟1-9,或1后跟0-9,或2后跟0-8,然后是/后跟02,然后是(闰年逻辑)

它不会短暂或漂亮。

正则表达式不适合描述日期格式。

那就是see this question

  

使用组合框可以解决这个问题吗?

在不使用JavaScript的情况下,您无法在HTML中使用组合框。

如果你的意思是“选择元素的集合”那么那就是“下拉菜单”而不是“组合框”。

你可以使用这些,但没有好办法阻止人们像2月31日那样进入日期。

  

如何根据另一个组合框更改一个组合框的值选项?

仅限于您​​排除的JavaScript。

  

由于它是注册表单的一部分,我被建议不要使用JavaScript验证(因为它可以被禁用)

您不应该依赖来进行输入验证,因为它可以被绕过......但是您可以实现的任何客户端输入验证都是如此。

客户端输入检查非常有用,因为它可以在用户出错时为用户提供快速反馈,并输入无意义的数据。

您需要将其与服务器端输入检查配合使用,以防止错误的数据被故意插入您的系统。