Проверка jQuery для минимальной и максимальной даты для определенного возраста - PullRequest
0 голосов
/ 11 сентября 2018

Мне нужно ввести DOB, но минимальный возраст пользователя должен составлять 18 лет, а максимальный возраст должен составлять 60 лет

Для этого добавлен метод jQuery, но он не отвечает должным образом, в любом DOB он показывает Максимумдопускается возраст 60 лет

код метода jQuery

 $.validator.addMethod("minDate", function (value, element) {
    var min = new Date(<?php echo date("U",strtotime("-60 year"));?>);
    var inputDate = new Date(value);
    if (inputDate < min)
        return true;
    return false;
}, "Maximum Age 60 Years");

$.validator.addMethod("maxDate", function (value, element) {
    var max = new Date(<?php echo date("U",strtotime("-18 year"));?>);
    var inputDate = new Date(value);
    if (inputDate > max)
        return true;
    return false;
}, "Minimum Age 18 Years");

правила проверки формы

"user[DOB]": {
                required: true,
                minDate:true,
                maxDate:true
            },

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

извините за беспокойство, спасибо за поддержку - приведенный ниже код разрешил мою ошибку

$.validator.addMethod("dobRange", function (value, element) {
        var min = new Date(<?php echo date("U",strtotime("-60 year"));?>);
        var max = new Date(<?php echo date("U",strtotime("-18 year"));?>);
        var inputDate = new Date(value);
        if (inputDate < min || inputDate > max)
            return false;
        return true;
    }, "Age Limit 18 to 60 Years");
0 голосов
/ 11 сентября 2018

Как я уже упоминал в комментариях, у вас есть подтверждение в обратном направлении.Вы возвращаете true, если неверно, иначе false.

Попробуйте:

$.validator.addMethod("minDate", function (value, element) {
    // new Date(-356780166)..
    var min = new Date(<?php echo date("U",strtotime("-60 year"));?>);
    var inputDate = new Date(value);
    if (inputDate < min)
        return false;
    return true;
}, "Maximum Age 60 Years");

$.validator.addMethod("maxDate", function (value, element) {
    var max = new Date(<?php echo date("U",strtotime("-18 year"));?>);
    var inputDate = new Date(value);
    if (inputDate > max)
        return false;
    return true;
}, "Minimum Age 18 Years");

Если это не сработает, посмотрите, что возвращает ваш inputDate, например, console.log(inputDate);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...