Moved validation to model