Een klant van mij wil graag een IBAN check op een veld in Gravity Forms in Wordpress. Hiervoor zijn geen standaard checks, dus moest dit zelf geschreven worden. Nu loop ik tegen een probleem aan. Ik heb een script in functions.php die een correcte IBAN check uitvoert, echter het probleem is dat IBAN alleen verplicht is als een stap ervoor het antwoord "via incasso" is.

Wat er nu gebeurd is dat het formulier niet verstuurd wordt als de IBAN niet ingevuld is en "via ideal" is geselecteerd. Dit zal te maken hebben met het feit dat ik in het begin al aangeef dat "is_valid" op false staat. Maar ik weet nu niet zo goed hoe ik dit kan omzeilen. Iemand enig idee?

Code:
add_filter('gform_validation', 'custom_validation');function custom_validation($validation_result){
    $form = $validation_result["form"];


    // set the form validation to false
    $validation_result["is_valid"] = false;


    $value = '';
    $continue = 0;
    foreach($form["fields"] as &$field){
        
        $value = $_POST["input_". $field['id']];
        
        if($value == 'Via incasso') {
            $continue = 1;
        }
        
        if(strtolower($field['cssClass']) == 'iban' && $continue == 1) {
            if(!checkIBAN($value)) {
                $validation_result["is_valid"] = false;
                $field["failed_validation"] = true;
                $field["validation_message"] = "IBAN rekeningnummer niet correct";
                break;
            } else {
                $validation_result["is_valid"] = true;
            }
        }
    }


    //Assign modified $form object back to the validation result
    $validation_result["form"] = $form;
    
    return $validation_result;
}