model validations: that's not an xor, it's the opposite