Date range

At this point the Conditional Fields plugin is unaware of date ranges, but this is a problem that can be solved with custom functions. Custom functions are available in Conditional Fields Pro. Check out the example below.


Enter a date between 29-Aug-2019 and 7-Sept-2019:

Well done!

Form Code

[group nope]Enter a date between 29-Aug-2019 and 7-Sept-2019:[/group]
[date date]
[group well-done]Well done![/group]

Conditional Fields (Text)

show [well-done] if [date] function "date_between"
show [nope] if [date] function "not_date_between"

In order for this form to work you need to add this javascript code to your theme:

    fromdate = new Date(2019,7,29);
    untildate = new Date(2019,8,7);
    function date_between($field) {
        //expected format: yyyy-mm-dd
        var checkdate_str = $field.val();
        var dmy = checkdate_str.split("-");
        if (dmy.length !== 3 ||
        isNaN(dmy[0]) || dmy[0].length!==4 ||
        isNaN(dmy[1]) || dmy[1].length!==2 ||
        isNaN(dmy[2]) || dmy[2].length!==2 )
        return false; //invalid format
        var checkdate = new Date(dmy[0], dmy[1] - 1, dmy[2]);
        if (checkdate === "Invalid Date" || isNaN(checkdate))
        return false; // invalid date
        //at this point the date is valid
        if (checkdate > fromdate && checkdate < untildate) {
            return true; // date is between the from and until date
        } else {
            return false; // date is not between the from and until date
    function not_date_between($field) {
        return !date_between($field);