register_settings callback function erases data

in case of wrong value, the function has to return the original value then try this :

function email_validation($data, $option, $original_value) {

    if (null == $data)
    {
        add_settings_error(
            'requiredTextFieldEmpty',
            'empty',
            'Notification Email cannot be empty',
            'error'
        );

        return $original_value;
    }
    else {

        if (!is_email($data)){
            add_settings_error(
                'requiredTextFieldEmpty',
                'empty',
                'Notification Email is not valid email address',
                'error'
            );

            return $original_value;
        }

        else { return $data; }
    }
}