If you use the validation observer, it's defined in your model (most logical is on before_save), and you define your observer before it.
If you run validation by hand, either by manually defining the rules in your controller (or in a model method like oil generates), or through a fieldset, you can't use an observer.
In those cases, alternative is a validation rule that validates the input and input format, and returns the normalized result (validation rules can modify the value to be validated too).