Move Validation Logic to Model