选择日期后 JS 验证报告为空

Posted

技术标签:

【中文标题】选择日期后 JS 验证报告为空【英文标题】:JS Validation reports as empty after selecting date 【发布时间】:2012-12-22 15:03:16 【问题描述】:

我的代码中有一个小错误。当用户选择日期字段时,会弹出一个日历,并且可以单击一个日期,但验证时会出现错误,就像为空一样。

如果用户再次单击错误消失或如果他们单击提交,即使仍然显示错误文本,表单也会正常运行。

想清理这个松散的结尾,但其中一些代码不是我自己的,所以无法找到问题所在。

表单字段和验证功能如下,工作副本在 jsfiddle 上。

表格代码是

<label class="control-label" for="date">Date:</label>
<input type="text" name="date" id="date" readonly onClick="GetDate(this);"/>
<button type="submit" class="btn btn-giant btn-primary">Submit</button>

验证语句是

jQuery(function () 
jQuery("#date").validate(
expression: "if (VAL) return true; else return false;",
message: "Please select a date."
);
);

我在 jsfiddle 上发布了一个工作示例。

http://jsfiddle.net/andrewgledhill/NdHGH/1/embedded/result/

谢谢。

【问题讨论】:

【参考方案1】:

您需要在输入更改后进行验证。您在文本到达输入之前进行验证。你可以看到这个小提琴没有给出错误:http://jsfiddle.net/NdHGH/4/

我还将您的 onclick 从内联 onclick 移开,以使其更易于理解:

jQuery(function () 
  jQuery('#date').on('click',function()
    GetDate(this);
  );
  jQuery("#date").on('change',function()
    validate(
      expression: "if (VAL) return true; else return false;",
      message: "Please select a date."
    );
  );
);

【讨论】:

对不起,这似乎不起作用。我做了进一步的检查,当使用空字段提交时它没有显示错误。当我更改代码时,其他字段的验证都不起作用。感谢您的关注。

以上是关于选择日期后 JS 验证报告为空的主要内容,如果未能解决你的问题,请参考以下文章

当同时使用bootstrap-datepicker.js和jquery.validate.js这两款插件,至少要选择两次时间,才能验证成功的问题

获取报告后通过 jquery 日期选择器保留输入值

使用日期选择器在文本框中进行验证

JQUERY Datepicker - 从 datepicker 选择日期后验证错误不会消失

FPDF:不为日历选定日期生成报告数据

js 联动实现日期选择,一般用作生日