Added validation annotations and custom validation groups to check field constraints