{
    "additionalProperties": false,
    "description": "Schema for a form field's value being changed",
    "properties": {
        "elementClasses": {
            "description": "An array of the classes on the element",
            "items": {
                "description": "A class on the element",
                "maxLength": 4096,
                "minLength": 0,
                "type": "string"
            },
            "type": "array"
        },
        "elementId": {
            "description": "The id of the element that has just received focus",
            "maxLength": 4096,
            "minLength": 0,
            "type": "string"
        },
        "formId": {
            "description": "The id of the form the element belongs to",
            "maxLength": 4096,
            "minLength": 0,
            "type": "string"
        },
        "nodeName": {
            "description": "The node type of the element",
            "enum": [
                "INPUT",
                "TEXTAREA",
                "SELECT"
            ],
            "type": "string"
        },
        "type": {
            "description": "The type of input element",
            "enum": [
                "button",
                "checkbox",
                "color",
                "date",
                "datetime",
                "datetime-local",
                "email",
                "file",
                "hidden",
                "image",
                "month",
                "number",
                "password",
                "radio",
                "range",
                "reset",
                "search",
                "submit",
                "tel",
                "text",
                "time",
                "url",
                "week"
            ],
            "type": [
                "string",
                "null"
            ]
        },
        "value": {
            "description": "The value of the element when it gained focus",
            "maxLength": 65535,
            "minLength": 0,
            "type": [
                "string",
                "null"
            ]
        }
    },
    "required": [
        "formId",
        "elementId",
        "nodeName",
        "value"
    ],
    "self": {
        "format": "jsonschema",
        "name": "change_form",
        "vendor": "com.snowplowanalytics.snowplow",
        "version": "1-0-0"
    },
    "type": "object"
}