public static function ServicePluginBase::validateJson in Analytics 8
Form element validation callback for a JSON textarea field.
Note that #required is validated by _form_validate() already.
File
- src/
Plugin/ ServicePluginBase.php, line 204
Class
- ServicePluginBase
- Defines a base implementation for analytics service plugins will extend.
Namespace
Drupal\analytics\PluginCode
public static function validateJson(&$element, FormStateInterface $form_state) {
$value = $element['#value'];
if ($value === '') {
return;
}
if (is_string($value)) {
$name = empty($element['#title']) ? $element['#parents'][0] : $element['#title'];
$json = json_decode($value, TRUE);
if ($error = json_last_error()) {
$form_state
->setError($element, t('%name is not valid JSON: @error.', [
'%name' => $name,
'@error' => json_last_error_msg(),
]));
return;
}
}
}