我一直在寻找一种不错的jQuery验证方法。我找到了这个jsFiddle That does something similar
但我需要我的AM \ PM验证,也不是表单提交的必填字段。如果我能让这个在布尔上工作那么那将是很棒的。
示例可接受的时间是
12:00 AM
虽然有一个无法接受的字符串的无限示例,但这只是其中之一
24:00
现在我考虑一下,如果格式无效,我希望这件事不提交,但如果没有输入时间,我不希望验证器触发。 用jquery验证器试过这个,但是它没有用。
$().ready(function() {
$.validator.addMethod("time", function(value, element) {
return this.optional(element) || /^(([0-1]?[0-2])|([2][0-3])):([0-5]?[0-9])(a|p)m?$/i.test(value);
}, "Please enter a valid time.");
$("#login").validate({
rules: {
time: "required time",
},
});
});
答案 0 :(得分:1)
我会指出你不可或缺的jquery.validator:http://docs.jquery.com/Plugins/Validation。是的,你需要花一点时间来弄明白,但现在是时候花光了。当涉及到普遍用作验证的东西时,有人已经完成了繁重的工作,没有必要重新发明轮子,如果你原谅我过度使用隐喻。
编辑:我对验证有了更改意见。这可能与原始问题有些相似,但总的来说,我喜欢屏蔽/限制字段以防止80-90%的用户错误的想法,其余的可以通过对服务器端的{ajax调用来验证{{3 }}。此策略消除了对jquery.validator和(大多数)其他客户端验证的需要。在许多情况下,这是一种可行且优选的方法。 (免责声明:除了作为用户之外,我不以任何方式加入FluentValidation)