[OPGELOST] BurgerServiceNummer in contactformulier

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
User avatar
frankmanl
Power Poster
Power Poster
Posts: 425
Joined: Sat Jul 12, 2008 3:50 am

[OPGELOST] BurgerServiceNummer in contactformulier

Post by frankmanl »

Heeft iemand al eens in FormBuilder een veld opgenomen voor het BurgerServiceNummer (SOFI-nummer), met validatie?
Zo ja, zou je dat willen delen?

Frank
Last edited by frankmanl on Tue Oct 18, 2011 3:49 am, edited 1 time in total.
deactivated010521

Re: BurgerServiceNummer in contactformulier

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:50 pm, edited 1 time in total.
User avatar
frankmanl
Power Poster
Power Poster
Posts: 425
Joined: Sat Jul 12, 2008 3:50 am

Re: BurgerServiceNummer in contactformulier

Post by frankmanl »

Te gek Arnoud, daar ga ik eens even mee aan de slag van 't weekeinde.

Frank
User avatar
frankmanl
Power Poster
Power Poster
Posts: 425
Joined: Sat Jul 12, 2008 3:50 am

Re: BurgerServiceNummer in contactformulier

Post by frankmanl »

Nou, dat gaat niet lukken.
Ik heb geprobeerd de 11-proef op te nemen in jquery.validate.min.js, zonder gewenst resultaat.
Ben bang dat ik gewoon niet genoeg snap van JavaScript.

Vervolgens geprobeerd het met Form Builder zelf te regelen:
nieuw veld BSN (veld-id 35), numeriek, maar wat doe ik dan met de validatie?
Heb het script geplaatst in Smarty data or logic that is meant to be sent with this field:

Code: Select all

{literal}
<__script__ language="javascript">
function eleven_test(fbrp__35) {
    var sofi_number = fbrp__35.replace(/\D/, "");
    var char_count = sofi_number.length;
    var sum = 0;
    for (i=1; i<10; i++) {
        amount = sofi_number.charAt(i-1);
        if (i == 9 ) {
            sum -= amount*(10-i);
        } else {   
            sum += amount*(10-i);
        }   
    }
    if (sum % 11==0 && char_count==9) {
        return true
    } else {
        return false
    }
}
</__script>
{/literal}
Maar wat kies ik vervolgens bij Field Validation:? Niets lijkt het script te activeren...
Of zit ik volledig in een onjuiste richting de te denken?

Frank
deactivated010521

Re: BurgerServiceNummer in contactformulier

Post by deactivated010521 »

----------
Last edited by deactivated010521 on Tue Mar 12, 2013 5:50 pm, edited 1 time in total.
User avatar
frankmanl
Power Poster
Power Poster
Posts: 425
Joined: Sat Jul 12, 2008 3:50 am

Re: BurgerServiceNummer in contactformulier

Post by frankmanl »

Hiermee is het helemaal gelukt, Arnoud.
Ik heb er wel nog enkele kleine aanpassingen aan gedaan, omdat het mogelijk moet zijn het veld leeg te laten.
Definitie van veld sofi_number:
• de lengte van het veld ingesteld op 9 (de toegestane lengte van zo'n nummer)
• de validatie op numeric verwijderd (wordt door script gedaan)
• het veld niet verplicht in te vullen (wie zijn sofinummer niet bij de hand heeft moet toch het formulier kunnen versturen)
Form template:
Omdat het veld leeg mag blijven wordt het script alleen uitgevoerd als variabele sofi_number niet leeg is.

Code: Select all

{literal}
<__script__ type="text/javascript">
function validate_form() {
    var sofi_number = document.getElementById('sofi_number').value;

if (sofi_number){

    sofi_number = sofi_number.replace(/\D/g, "");
    var char_count = sofi_number.length;
    var sum = 0;
    for (i=1; i<10; i++) {
        amount = sofi_number.charAt(i-1);
        if (i == 9 ) {
            sum -= amount*(10-i);
        } else {   
            sum += amount*(10-i);
        }   
    }
    if (sum % 11==0 && char_count==9) {
        return true
    } else {
        alert('Vul een correct BSN in of laat veld leeg');
        return false
    }

}

}
</__script> 
{/literal}
Frank
Post Reply

Return to “Dutch - Nederlands”