Problem: When setting a property type to ’email’ like so:
$schema = array(
'$schema' => 'http://json-schema.org/schema#',
'title' => 'user',
'type' => 'object',
'properties' => array(
'email' => array(
'description' => __( 'The optional email address for the something.' ),
'type' => 'string',
'format' => 'email',
'context' => array( 'edit' ),
'required' => false,
) )
);
WordPress checks if it’s an email like it should, but it does this even if an empty string is passed. If this needs to be an optional field, the only way I see around it is to not set the format to email.