_form_helper_validation_get_rules

custom/form_helper/form_helper_validation/form_helper_validation.module, line 103

Versions
6
_form_helper_validation_get_rules()

Get validation rules

Code

<?php
function _form_helper_validation_get_rules() {
  static $rules;
  if ($rules) {
    return $rules;
  }

  $rules = array(

    /* STRING */

    'alphanumeric' => array(
      'regex' => '/^\w+$/',
      'example' => "abc_012345679",
    ),

    'words' => array(
      'func' => '_form_helper_validation_validate_words',
      'message' =>  "'@name' is not valid. Enter less than @words words. You entered @count words.",
    ),

    'phone' => array(
      'regex' => '/^\d\d\d(-| |\.)?\d\d\d\1\d\d\d\d$/',
      'example' => 'XXX-XXX-XXXX',
    ),

    'zip' => array(
      'regex' => '/^(\D\d\D(-| )?\d\D\d|\d\d\d\d\d(-| |)?(\d\d\d\d)?)$/',
      'example' => '12345[-6789]',
    ),

    'ssn' => array(
      'regex' => '/^\d\d\d(-| |)?\d\d(-| |)?\d\d\d\d$/',
      'example' => 'XXX-XX-XXXX',
    ),

    'email' => array(
      'type' => 'e-mail address',
      'func' => '_form_helper_validation_validate_email',
      'example' => 'someone@somewhere.com',
    ),

    /* NUMERIC */

    'number' => array(
      'regex' => '/^\d+$/',
      'example' => '123',
    ),

    'float' => array(
      'regex' => '/^\d*\.?\d*$/',
      'example' =>  '123.45',
    ),

    'bit' => array(
      'regex' => '/^[01]$/',
      'example' => '0 or 1',
    ),

    'min' => array(
      'func' => '_form_helper_validation_validate_min',
      'message' => "'@name' is not valid. Enter a value greater than @min.",
    ),

    'max' => array(
      'func' => '_form_helper_validation_validate_max',
      'message' => "'@name' is not valid. Enter a value less than @max.",
    ),

    'range' => array(
      'func' => '_form_helper_validation_validate_range',
      'message' => "'@name' is not valid. Enter a value between @min and @max.",
    ),

    /* DATE */

    'date' => array(
      'func' => '_form_helper_validation_validate_date',
      'example' => 'MM/DD/YYYY',
    ),

    'time' => array(
      'func' => '_form_helper_validation_validate_time',
      'example' => '1:01 AM, 23:52:01, or 03.24.36 AM',
    ),

    'datetime' => array(
      'func' => '_form_helper_validation_validate_datetime',
      'example' => 'MM/DD/YYYY HH:MM:SS ',
    ),

    /* URLS */

    'url' => array(
      'func' => '_form_helper_validation_validate_url',
      'example' => 'http://somewhere.com/about/',
    ),

    'path' => array(
      'func' => '_form_helper_validation_validate_path',
      'example' => '/about/, ../about',
    ),

    'domain' => array(
      'regex' => '/^(www\.)?[a-z_-]+\.[a-zA-Z0-9]{2,4}$/i',
      'example' => 'somewhere.com or www.somewhere.com',
    ),

    'extensions' => array(
      'func' => '_form_helper_validation_validate_extensions',
      'message' => '@name is not valid. Value must have end with @extensions',
    ),

    /* HTML/CSS */

    'length' => array(
      'regex' => '/^\d+(px|em|%|pt)?$/',
      'example' => '10pt, 10px, 1em, 100%, or 10',
    ),

    'hexcolor' => array(
      'regex' => '/^#([0-9abcdef]{6}|[0-9abcdef]{3})$/i',
      'example' => '#F0F0F0 or #FFF'
    ),

    /* REGEX */

    'regex' => array(
      'func' => '_form_helper_validation_validate_regex',
    ),
  );

  return $rules;
}
?>