validator can return error