validateCallback may throw exception instead of setting an error