Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery验证addMethod为输入文本设置日期dd.mm.yyyy格式_Jquery_Regex_Jquery Validate_Date Formatting - Fatal编程技术网

使用jQuery验证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; }

我在使用这个addMethod验证输入的日期时遇到了真正的问题。它没有正确地测试正则表达式,我认为它可能写有错误。日期应采用以下格式:dd.mm.yyyy。请帮忙

$(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
            }
        }
    })
;