class_docstr: Validates data is valid JSON.
  
  :param message:
      Error message to raise in case of a validation error.
class_docstr_tok: ["Validates","data","is","valid","JSON",".",":","param","message",":","Error","message","to","raise","in","case","of","a","validation","error","."]
code: def __call__(self, form, field):
      if field.data:
          try:
              json.loads(field.data)
          except JSONDecodeError as ex:
              message = self.message or f"JSON Validation Error: {ex}"
              raise ValidationError(
                  message=field.gettext(message.format(field.data))
              )
  
file_path: airflow/airflow/www/validators.py
imports: from __future__ import annotations
  import json
  from json import JSONDecodeError
  from wtforms.validators import EqualTo, ValidationError
  from airflow.models.connection import CONN_ID_MAX_LEN, sanitize_conn_id
  from airflow.utils import helpers
label_desc: Use image node_id 2 for calling the ValidJson obj's underlying member method code with example usage: obj.__call__(form, field) without return types