【发布时间】:2013-08-01 13:06:29
【问题描述】:
我正在尝试编写一个 JavaScript 函数来验证 type="time" 的所有 input 元素。我正在查看 jQuery Validate 的文档,但我只找到验证绑定在 id 或 name 属性上的示例。有没有办法在全球范围内做到这一点?
我想确保时间的格式始终为hh:mm。我找到了一个可以验证我的时间的函数(见下文)。当这个函数返回false 时,我会调用一个addError() 函数来向表单添加一个错误。我不知道该怎么做。
// Check is the input is a valid time
function formatTime(time) {
var result = false, m;
var re = /^\s*([01]?\d|2[0-3]):([0-5]\d)\s*$/;
if ((m = time.match(re))) {
result = (m[1].length == 2 ? "" : "0") + m[1] + ":" + m[2];
}
return result;
}
// Trigger the validation on the onBlur event
$("input[type=time]").blur(function () {
var value = formatTime($(this).val());
if (value == false) {
addError($(this));
}
});
Edit1:看来我的复制/粘贴技能不太好。在formatTime() 中,如果格式有效,则返回时间,否则返回false。
【问题讨论】:
-
你没有从
formatTime(time)返回任何值/结果。
标签: javascript jquery validation jquery-validate