You are here

public function field_validation_validator::set_error in Field Validation 7.2

Set error message.

31 calls to field_validation_validator::set_error()
field_validation_blacklist_validator::validate in plugins/validator/field_validation_blacklist_validator.inc
Validate field.
field_validation_color_validator::validate in field_validation_extras/plugins/validator/field_validation_color_validator.inc
Validate field.
field_validation_date_range2_validator::validate in plugins/validator/field_validation_date_range2_validator.inc
Validate field.
field_validation_date_validator::validate in field_validation_extras/plugins/validator/field_validation_date_validator.inc
Validate field.
field_validation_ean_validator::validate in field_validation_extras/plugins/validator/field_validation_ean_validator.inc
Validate field.

... See full list

File

./field_validation_validator.inc, line 153
Basic class for field validation validator.

Class

field_validation_validator

Code

public function set_error($tokens = array()) {
  $error_element = $this
    ->get_error_element();
  $error_message = t($this
    ->get_error_message());
  $tokens += array(
    '[entity-type]' => $this->rule->entity_type,
    '[bundle]' => $this->rule->bundle,
    '[field-name]' => $this->instance['label'],
    '[value]' => $this->value,
  );
  $error_message = field_filter_xss(strtr($error_message, $tokens));

  // We support two methods to set error: using form_set_error provided by form api, using errors provided by field api.
  // form_set_error does not work correctly when a sub form embed into another form;
  // errors does not work correctly when current field does not support hook_field_widget_error.
  if (empty($this->rule->settings['errors'])) {
    form_set_error($error_element, $error_message);
  }
  else {
    $this->errors[$this->rule->field_name][$this->langcode][$this->delta][] = array(
      'error' => $this->rule->col,
      'message' => $error_message,
    );
  }
}