Jak utworzyć niestandardowy walidator z niestandardowym komunikatem o błędzie w Grails?

Jak utworzyć niestandardowy walidator w Grails i sprawić, aby przekazał niestandardowy ciąg z powrotem do widoku i komunikat o błędzie?

Widziałem tak wielu ludzi, którzy utknęli w tym samym, postanowiłem stworzyć pytanie i odpowiedź, aby sobie z tym poradzić.

questionAnswers(2)

yourAnswerToTheQuestion