I set 2 validation rules like this.
RULE 1
Complete at least one of field(species1 or species2)
RULE 2
Complete at least one of field(price1 or price2 or price3)
My code works fine as long as only one error. I mean, when both rules have an error, it does not hide error message however I corrected one of errors. It keeps showing error message. It does not do “return $valid”.
Im wondering if there is way to set multiple validation rules for multiple fields.
//RULE 1
function validate_species( $valid, $value, $field, $input ){
if( !$valid ) {
return $valid;
}
$species1 = $_POST['acf']['field_609b650e953ec'];
$species2 = $_POST['acf']['field_609c4053b0ca8'];
if (empty($species1) && empty($species2)) {
$valid = 'Error message for Rule1';
}
return $valid;
}
add_filter('acf/validate_value/name=species1', 'validate_species', 10, 4);
add_filter('acf/validate_value/name=species2', 'validate_species', 10, 4);
//RULE 2
function validate_price( $valid, $value, $field, $input ){
if( !$valid ) {
return $valid;
}
$price1 = $_POST['acf']['field_609de26de0b75'];
$price2 = $_POST['acf']['field_609de2b939a27'];
$price3 = $_POST['acf']['field_609de324a1398'];
if (empty($price1) && empty($price2) && empty($price3)) {
$valid = 'Error message for Rule 2';
}
return $valid;
}
add_filter('acf/validate_value/name=price', 'validate_price', 10, 4);
add_filter('acf/validate_value/name=tokka', 'validate_price', 10, 4);
add_filter('acf/validate_value/name=jissai', 'validate_price', 10, 4);
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.