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.
File
- ./
field_validation_validator.inc, line 153 - Basic class for field validation validator.
Class
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,
);
}
}