My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Project Information
Members
Featured
Wiki pages

Features

  • supports a variety of built-in data type validation
  • planned i18n support for currency, date, and time data types
  • allows superior flexibility for validation of custom data-types
  • allows "AND" and "OR" conditions to be applied
  • serialization to Dojo widget strings for client-side validation with the Dojo Toolkit
  • very easy to use
  • lightweight (~7 files, 1700 lines of code including comments)
  • includes unit tests and documentation
  • strict control over null and empty string handling

Supported validations

  • custom regular expressions
  • less than
  • greater than
  • equal to
  • email
  • float
  • boolean
  • integer
  • alphabetic
  • alphanumeric
  • date
  • time
  • currency
  • max string length

Testing

114 or so unit tests are including along with SimpleTest for running them. The results can be seen here

Usage

Example 1: email validation

  $data = "example.email@domain.com";
  $data2 = "badexample.email@domain"

  $validator = new EZValidator();
  $validator->addCriteria(__EZV_EMAIL_REGEXP);
 
  $validator->validate($data);   //evaluates true
  $validator->validate($data2);  //evaluates false

Example 2: floating point range

    $data = 1.2;
 
    $validator = new EZValidator();

    //set up three criteria, default is "AND" them to determine validity
    $validator->addCriteria(__EZV_FLOAT_REGEXP); //specify data type
    $validator->addCriteria("<1500.5032"); //specify maxima
    $validator->addCriteria(">-25.30"); //specify minima
    $validator->validate($data); //evaluates true

Example 3: custom validation

  $five_digit_zip = "^[0-9][0-9][0-9][0-9][0-9]$";
  $validator = new EZValidator();
  $validator->addCriteria($five_digit_zip);
  $validator->validate("81054"); //evaluates true

Example 4: empty or null data

    $validator = new EZValidator();
    $validator->setDataCanBeNull(true);
    $validator->setDataCanBeEmpty(false);
    $validator->addCriteria(__EZV_FLOAT_REGEXP);

    $validator->validate(null); //evaluates true
    $validator->validate(''); //evaluates false

Example 5: serialization to dojo

    $validator = new EZValidator();
    $validator->setDataCanBeNull(true);
    $validator->setDataCanBeEmpty(false);
    $validator->addCriteria(__EZV_FLOAT_REGEXP);

    //returns array of name/value pairs
    //which can be embedded in a dojo widget 
    //for client-side validation
    $validator->serializeToDojoAsArray(); 
Powered by Google Project Hosting