You are here

12 field_validation.validators.inc

admin 的头像
Submitted by admin on 星期六, 2015-09-19 01:35

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

这是field_validation.validators.inc文件的:

<?php

 

/**

 * @file

 * Provides validation functionality and hooks

 */

 

/**

 * Implements hook_webform_validation_validators().

 *

*/

function field_validation_field_validation_validators() {

  return array(

    'regex' => array(

      'name' => "Regular expression",

      'component_types' => array(

        'textfield',

        'textarea',

        'email',

        'hidden',

      ),

      'custom_error' => TRUE,

      'custom_data' => array(

        'label' => t('Regex code'),

        'description' => t('Specify regex code to validate the user input against.'),

      ),

      'description' => t("Validates user-entered text against a specified regular expression. Note: don't include delimiters such as /."),

    ),

  );

}

 

/**

 * Implements hook_webform_validation_validate().

 */

function field_validation_field_validation_validate($validator_name, $items, $rule) {

  if ($items) {

    $error = array();

    switch ($validator_name) {

     

      case "regex":

        mb_regex_encoding('UTF-8');

        $regex = $rule['data'];

        foreach ($items as $delta => $item) {

          if ($item['value'] != '' && (!mb_ereg("$regex", $item['value']))) {

$error[$delta][] = array(

              'error' => 'regex', 

              'message' =>$rule['error_message'],

            );

//debug($errors);

          }

        }

        return $error;

        break;

 

    }

  }

}

 

function _field_validation_flatten_array($val) {

 …

}

 

/**

 * Get a list of validator definitions

 */

function field_validation_get_validators() {

  $validators = module_invoke_all("field_validation_validators");

  // let modules use hook_webform_validator_alter($validators) to change validator settings

  drupal_alter('field_validator', $validators);

  return $validators;

}

 

…….

function field_validation_get_validators_selection() {

….

}

……

function field_validation_valid_component_types($validator) {

}

….

function _field_validation_all_allowed($allowed) {

….

}

function field_validation_get_validator_info($validator_key) {

}

….

function _field_validation_i18n_error_message($rule) {

….

}

……

function _field_validation_check_false($var) {

……

}

….

function _field_numeric_check_data($data) {

….

}

这个文件里面,我知道的好像只有field_validation_field_validation_validatorsfield_validation_field_validation_validatefield_validation_get_validators是有用的。其它的大部分都是特定于webform_validation的,当时是一股脑的复制了过来的,然后一个一个的字符串替换。我们看到这里保留了大量的webform_validation的信息。


Drupal版本: