Como validar mis formularios en Magento


Notice: Undefined variable: post in /furanet/sites/diegomestre.com/web/htdocs/wp-content/themes/docpress/functions.php on line 294

Notice: Trying to get property of non-object in /furanet/sites/diegomestre.com/web/htdocs/wp-content/themes/docpress/functions.php on line 294

Como validar mis formularios en Magento

Podemos hacer muchas formas de validar nuestro formulario en Magento. Aunque la tendencia generalizada es utilizar la librería JQuery en la mayoría de sitios, yo voy a explicar la forma más sencilla de hacerlo en Magento.

Esto es usando la librería que ya viene por defecto en nuestra instalación, la librería prototype. Este framework de javascript se utiliza de forma muy parecida a como se utiliza la JQuery, pero al venir ya en la instalación por defecto de nuestro Magento, utilizándolo normalmente nos estará ahorrando mucho tiempo.

Aunque he puesto como título “Cómo validar mi formulario en Magento” quizá hubiera sido más correcto titularlo “Cómo validar mi formulario usando prototype”, ya que esto lo podremos aplicar a cualquier web, aunque no sea Magento, simplemente haciendo la llamada previa a la prototype

La mejor forma de explicar esto es con un ejemplo, supongamos nuestro formulario


<form id="formulario" method="post" name="formulario"><label for="nombre">
< ?php echo $this->__('Name') ?> <span>*</span></label>

<input id="nombre" class="input-text  required-entry" type="text" name="nombre" />
<label for="apellido">
< ?php echo $this->__('Apellido') ?> <span>*</span></label>

<input id="apellido" class="input-text   required-entry" type="text" name="apellido" />
</form>

Y luego la llamada a la función de prototype

<script type="text/javascript">
var customForm = new VarienForm('formulario');
</script>

Es fácil, ¿Verdad?. Simplemente hemos de definir la clase de cada input a validar y listo. En primer lugar pondremos el estilo a aplicarle (input-text) y en segundo lugar las características de la validación (required-entry). Para este ejemplo simplemente he usado la propiedad required-entry, que obliga a que el usuario introduzca algo. Veamos la tabla completa que nos permite la clase VarienForm de prototype y después algún ejemplo más:

Nombre de la clase Validación
validate-select Please select an option.
required-entry This is a required field.
validate-number Please enter a valid number in this field.
validate-digits Please use numbers only in this field. please avoid spaces or other characters such as dots or commas.
validate-alpha Please use letters only (a-z or A-Z) in this field.
validate-code Please use only letters (a-z), numbers (0-9) or underscore(_) in this field, first character should be a letter.
validate-alphanum Please use only letters (a-z or A-Z) or numbers (0-9) only in this field. No spaces or other characters are allowed.
validate-street Please use only letters (a-z or A-Z) or numbers (0-9) or spaces and # only in this field.
validate-phoneStrict Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.
validate-phoneLax Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.
validate-fax Please enter a valid fax number. For example (123) 456-7890 or 123-456-7890.
validate-date Please enter a valid date.
validate-email Please enter a valid email address. For example johndoe@domain.com.
validate-emailSender Please use only letters (a-z or A-Z), numbers (0-9) , underscore(_) or spaces in this field.
validate-password Please enter 6 or more characters. Leading or trailing spaces will be ignored.
validate-admin-password Please enter 7 or more characters. Password should contain both numeric and alphabetic characters.
validate-cpassword Please make sure your passwords match.
validate-url Please enter a valid URL. http:// is required
validate-clean-url Please enter a valid URL. For example http://www.example.com or www.example.com
validate-identifier Please enter a valid Identifier. For example example-page, example-page.html or anotherlevel/example-page
validate-xml-identifier Please enter a valid XML-identifier. For example something_1, block5, id-4
validate-ssn Please enter a valid social security number. For example 123-45-6789.
validate-zip Please enter a valid zip code. For example 90602 or 90602-1234.
validate-date-au Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006.
validate-currency-dollar Please enter a valid $ amount. For example $100.00.
validate-one-required Please select one of the above options.
validate-one-required-by-name Please select one of the options.
validate-not-negative-number Please enter a valid number in this field.
validate-state Please select State/Province.
validate-new-password Please enter 6 or more characters. Leading or trailing spaces will be ignored.
validate-greater-than-zero Please enter a number greater than 0 in this field.
validate-zero-or-greater Please enter a number 0 or greater in this field.
validate-cc-number Please enter a valid credit card number.
validate-cc-type Credit card number doesn\’t match credit card type
validate-cc-type-select Card type doesn\’t match credit card number
validate-cc-exp Incorrect credit card expiration date
validate-cc-cvn Please enter a valid credit card verification number.
validate-data Please use only letters (a-z or A-Z), numbers (0-9) or underscore(_) in this field, first character should be a letter.
validate-css-length Please input a valid CSS-length. For example 100px or 77pt or 20em or .5ex or 50%
validate-length Maximum length exceeded.

Naturalmente estos mensajes se pueden traducir, pero eso ya corre de vuestra cuenta :)

Escribe tu comentario

comentarios

Comments

  1. After I originally commented I appear too have clicked the -Notify me when new comments are added- checkbox
    and from now on whenever a comment is added I get four emails with
    the exact same comment. Is there a means you are able to remove me from that service?

    Thanks!

  2. If you are going for finest contents like me, only go to see this web site daily since it
    offers feature contents, thanks

  3. I have fun with, result in I found exactly what I was having a look for.
    You’ve ended my 4 day long hunt! God Bless you man.
    Have a great day. Bye

Speak Your Mind

*