Custom Validation script

  • DavidArgos
  • Topic Author
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Posts: 1
  • Thank you received: 0

DavidArgos created the topic: Custom Validation script

Good afternoon,

I'm trying to integrate a php function to validate one of the fields in my form.

The name of the field is iban.
The function is called comprobar_iban and is as follows:

/**
* Value to validate an IBAN bank account
*/
function comprobar_iban($iban)
{
# we define an array of values with the value of each letter
$letras=array("A"=>10, "B"=>11, "C"=>12, "D"=>13, "E"=>14, "F"=>15, "G"=>16,"H"=>17, "I"=>18, "J"=>19, "K"=>20, "L"=>21, "M"=>22, "N"=>23, "O"=>24, "P"=>25, "Q"=>26, "R"=>27, "S"=>28, "T"=>29, "U"=>30, "V"=>31, "W"=>32, "X"=>33, "Y"=>34, "Z"=>35);

# We eliminate the possible spaces at the beginning and end
$iban=trim($iban);

# We make capital letters
$iban=strtoupper($iban);

# we eliminate space and hyphens in the iban
$iban=str_replace(array(" ","-"),"",$iban);

if(strlen($iban)==24)
{
# We get the codes of the two letters
$valorLetra1 = $letras[substr($iban, 0, 1)];
$valorLetra2 = $letras[substr($iban, 1, 1)];

# we get the following two values
$siguienteNumeros= substr($iban, 2, 2);

$valor = substr($iban, 4, strlen($iban)).$valorLetra1.$valorLetra2.$siguienteNumeros;

if(bcmod($valor,97)==1)
{
return true;
}else{
return false;
}
}else{
return false;
}
}

I have introduced the function in the scripts section and in the field validation dropdown, I choose my function but it doesn't work and it doesn't even send the form.

Can you help me?

Thank you
#233859
  • Posts: 1740
  • Karma: 62
  • Thank you received: 217

mihaela replied the topic: Custom Validation script

Hello,

To validate elements a JavaScript code should be put in the validation script. Since you are using a php script it can't work.

You can create a validation script by writing the code similar to this:
function ff_comprobar_iban(element, message)
{
    if (/* PUT CONDITION HERE */) return ''; 
    if (message=='') message = "Please enter "+element.name+".\n";
    ff_validationFocus(element.name);
    return message;
} // ff_comprobar_iban

In the If statement you should put the condition which has to be true in order for user to be able to submit the form.

Let me know whether this helped and whether you've managed to write the wanted script.

Regards,

Mihaela
#233868
Moderators: ForumSupporttomeperica
Time to create page: 0.058 seconds

Community Reward

Help us to create new extensions and plugins! With only $5 you help us a lot and get unlimited download access to all of our products, professional support and even more. Get your reward now!

Read More Here

News and Updates

Get informed about new downloads, updates and more in our News and Updates newsletter.

All Extensions Subscription

Get 1 year access to all of our current and future products and 1 year of professional support -- 99€

No support per domain or website installation limits! Includes all of our current and future Joomla!® extensions, Joomla!® templates for the duration of your membership. This means, by purchasing an All Extensions Subscription you'll have it all covered!

Get it from here

3rd Party Discount - 25% Off

We help you to keep your costs under control. If you are a new member and purchased a form building tool from a different form vendor, then you'll get a 25% discount on our subscription plans.

How to receive the discount:

Send us a quick email to sales@crosstec.org with a proof of purchase (for example a paypal receipt), await payment instructions and enjoy your membership!

Community Reward

Help us to create new extensions and plugins! With only $5 you help us a lot and get unlimited download access to all of our products, professional support and even more. Get your reward now!

Read More Here