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.
Form
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:
<script>
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);
}
</script>