Yesterday, I was charged with the task of validating a simple HTML form in WordPress. I needed to make sure certain text input fields and a drop-down box contained information before the form was submitted. Surprisingly, WordPress seems to make this a bit difficult.

Here is my solution:

I used Marc Grabanski’s “Clean Form Validation” script. I did the following:

  1. Downloaded cleanValidator.js from Marc’s website.
  2. Added this code to my header:

    <script type=”text/javascript” src=”<?php bloginfo(‘stylesheet_directory’); ?>/js/cleanValidator.js”></script>

  3. Added this code after the “</form>” tag in my WordPress template file:

    <script type=”text/javascript”>
    cleanValidator.init({
    formId: ‘example’,
    inputColors: [‘#EDEDED’, ‘#FFFFFF’],
    errorColors: [‘#FFFF99’, ‘#CF3339’],
    isRequired: [‘first_name’, ‘last_name’, ’email’,’phone’, ‘company’],
    isEmail: [’email’]
    });
    </script>

  4. Added “id=example” to the form tag:
    <form id=example action=….
  5. That’s it!

I hope this helps you to create a beautifully-simple validated form in WordPress!

3 Comments

  1. Lod on July 3, 2010 at 4:49 am

    is your for located in the admin or front end?My attempt in the admin on custom post type is not working.Thanks for the tip.



  2. Lod on July 3, 2010 at 4:51 am

    Sorry for the unclearness of my earlier comment.Is your form located the admin or front end?My attempt in the admin on custom fields is not working.Thanks for the tip.



  3. Lod on July 3, 2010 at 5:22 am

    It seems to work fine now.However, the alert message is not really friendly. i suggest to make few changes to the js file so that when the object is created a function is assigned to the printError propery.