-2

jQuery Validator がこれを有効な日付として受け入れるのはなぜですか?

01/123/1

その日付を入力すると、検証に合格します。ユーザーが有効な日付を入力していることを確認するにはどうすればよいですか? 日付ピッカーを使用したくありません。

バリデーターへのリンク: http://docs.jquery.com/Plugins/Validation/Methods/date

4

1 に答える 1

0

組み込みの日付機能は Firefox では機能しないため、すべてのブラウザーで機能する拡張メソッドを次に示します。これは、日付が有効であることも確認します。99/99/9999 は機能しません。

    $.validator.addMethod(
        "mmddyyyy",
        function(value, element) {
            var match = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/.exec(value),
            isDate = function (m, d, y) {
                return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y, m, 0)).getDate();
            };
            return match && isDate(match[1], match[2], match[3]);
        },
        "Please enter a date in the format mm/dd/yyyy."
    );



    $('#Form1').validate({
        rules: {
            birthDate: { required: true, mmddyyyy: true }
        }
    });

});
于 2013-01-11T22:08:32.560 に答える