使用jQuery验证addMethod为输入文本设置日期dd.mm.yyyy格式
我在使用这个addMethod验证输入的日期时遇到了真正的问题。它没有正确地测试正则表达式,我认为它可能写有错误。日期应采用以下格式:dd.mm.yyyy。请帮忙使用jQuery验证addMethod为输入文本设置日期dd.mm.yyyy格式,jquery,regex,jquery-validate,date-formatting,Jquery,Regex,Jquery Validate,Date Formatting,我在使用这个addMethod验证输入的日期时遇到了真正的问题。它没有正确地测试正则表达式,我认为它可能写有错误。日期应采用以下格式:dd.mm.yyyy。请帮忙 $(function() { $(".msgBtn").click(function() { var isValid = true; if (!$("#startDate").valid()) { isValid = false; }
$(function() {
$(".msgBtn").click(function() {
var isValid = true;
if (!$("#startDate").valid()) {
isValid = false;
}
if (!$("#endDate").valid()) {
isValid = false;
}
if (!isValid)
return;
$("form#csr-message").submit(); //save button
});
});
$.validator.addMethod(
"formatdata",
function(value, element) {
var i = /(?:0[1-9]|[12][0-9]|3[01])\.(?:0[1-9]|1[0-2])\.(?:19\d\d|20\d\d)/;
return this.optional(element) || i.test(value);
}, "Incorrect format data");
var validator = $("#csr-message")
.validate(
{
rules : {
startDate : {
formatdata : true
},
endDate : {
formatdata : true
}
},
messages : {
startDate : {
formatdata : jQuery
.format("Start date has incorrect format!"),
},
endDate : {
formatdata : jQuery
.format("End date has incorrect format!"),
}
}
}
html:
<form method="post" action="<%=RelativeActionURL.rewrite(formAction)%>" id="csr-message">
...
<input type="text" id="startDate" name="startDate" placeholder="dd.mm.yyyy" value="<fmt:formatDate pattern="dd.MM.yyyy" value="${messageDetails.startDate}" />"/>
...
<input type="text" id="endDate" name="endDate" placeholder="dd.mm.yyyy" value="<fmt:formatDate pattern="dd.MM.yyyy" value="${messageDetails.endDate}"/>"/>
...
</form>
...
...
...
学分
积分您可以使用addMethod函数创建自己的自定义验证方法。假设您想验证“dd/mm/yyyy”: 然后在表格上添加:
$('#myForm')
.validate({
rules : {
myDate : {
Mytypedate: true
}
}
})
;
您可以使用addMethod函数创建自己的自定义验证方法。假设您想验证“dd/mm/yyyy”: 然后在表格上添加:
$('#myForm')
.validate({
rules : {
myDate : {
Mytypedate: true
}
}
})
;
我已经有了一个java方法中的日期默认格式。是dd.mm.yyyy。正则表达式似乎没有得到正确的测试,但是…为什么这个答案被接受?问题不是他想要dd.mm.yyyy作为日期格式吗?我已经有了一个java方法中的默认日期格式。是dd.mm.yyyy。正则表达式似乎没有得到正确的测试,但是…为什么这个答案被接受?问题不是他想要dd.mm.yyyy作为日期格式吗?
$('#myForm')
.validate({
rules : {
myDate : {
Mytypedate: true
}
}
})
;