Validating UPROPERTY change

I have a TSubclassOf<> property which shouldn’t be allowed to be None; if the user ever tries to set it to None in the editor, I’d like it to reject the change.

Is there a way to do this without creating a custom property editor? (I’d consider that approach, except that Slate is currently entirely undocumented.) PreEditChange/PostEditChangeProperty doesn’t seem to have any way to reject the change, or to recover the old value.

Adding NoClear to the property definition stopped None from showing up. (Should that be documented? I had to paw through source code to figure out that it would do that.) Still, it would be good to know how to validate properties in general.