Validatie op het aantal ingevulde items
add_filter('acf/validate_value/name=vakgebied', 'validate_vakgebied', 10, 4);
function validate_vakgebied($valid, $value, $field, $input) {
if(!$valid) {
return $valid;
}
if(sizeof($value) > 2) {
$valid = 'Je kan maximaal 2 vakgebieden selecteren.';
} else {
$valid = true;
}
return $valid;
}
Validatie op datum
add_filter('acf/validate_value/name=uiterste_reactie_datum', 'validate_reactiedatum', 10, 4);
function validate_reactiedatum($valid, $value, $field, $input) {
if(!$valid) {
return $valid;
}
setlocale(LC_TIME, "nl_NL");
$post_id = $_POST['post_id'];
$datumpub = get_the_date('U', $post_id);
$datumpubs = strtotime('+6 weeks',$datumpub);
$value = strtotime($value);
$uiterstemax = strftime("%e %B %Y",$datumpubs);
$uiterstemin = strftime("%e %B %Y",$datumpub);
// Als datum invoer groter is dan publicatiedatum + 6 weken
if($value > $datumpubs) {
$valid = 'De gekozen datum ligt te ver in de toekomst. De publicatietermijn is 6 weken. Selecteer een datum tussen '.$uiterstemin.' en '.$uiterstemax.'.';
} elseif($value < $datumpub) {
$valid = 'De gekozen datum ligt in het verleden. Selecteer een datum tussen '.$uiterstemin.' en '.$uiterstemax.'.';
} else {
$valid = true;
}
return $valid;
}
#acf #custom #functions #validatie