It’s pretty limited, though, and has some random quirks. Like a required field will be marked as invalid immediately on load, or that it’s not really possible to display multiple errors on a single input.
You can work around them, but you’re approaching the complexity of just writing your own validator by that point.
You can work around them, but you’re approaching the complexity of just writing your own validator by that point.