It's quite an old question, but in case it could be useful for anyone, starting from a combination of good responses found here, I've ended using this pattern:
pattern="([^\s][A-z0-9À-ž\s]+)"
It will require at least two characters, making sure it does not start with an empty space but allowing spaces between words, and also allowing special characters such as a, ó, ä, ö
.