Yeah, personal preference, I suppose. I tend to keep this sort of logic in the model, rather than the form. This method is a bit messy though anyway, so probably needs to be looked at regardless :)