do validation at record.save