我的代码中有一个小错误。当用户选择日期字段时,会弹出一个日历并单击日期,但验证会给出错误,就好像是空的。
如果用户第二次点击错误消失或者他们点击提交,则表单会很好,即使错误文本仍然显示。
想要清理这个松散的结尾,但是这些代码中的一些不是我自己的,所以我们无法找到问题。
表格字段和验证功能如下,工作副本在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/
感谢。
答案 0 :(得分:0)
您需要在输入更改后进行验证。您在文本到达输入之前进行验证。你可以看到这个小提琴没有给出错误: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."
});
});
});