I hate empty strings.
That being said, disallowing empty string as a policy doesn't solve the underlying problem; which is "garbage in=garbage out".
If I'm a developer who knows what I'm not allowed to use but I think it's stupid, I'll find an exception.
- no empty string? I'll insert
'x'
- no single character? I'll insert
'xx'
- some regex filter abomination? random text algorithms are cheap.
Disallow empty string (or other patterns) if you have client issues with garbage data. But whenever you're setting procedural rules to pre filter crap, make sure you reduce the demand as well as the supply. Figure out why people are demanding crap data and give them an alternative instead of fighting them at the tap.
Alternately you could use an additive check constraint or a custom data type to enforce certain input constraints 🤷♂️