I am trying to handle customValidation, using class object ValidationAttribute to my Model class. I cant seem to achieve correctly and need some help to improve my logic. The logic i want here when leaving@Html.EditorFor(). Must validate error from model/custom-class. I debug it does not hit any of my controller. The form does saves well on db, need validation to work.
// Model
  [Required(ErrorMessage = "This field is required")]
 [CustomValidation(ErrorMessage = "This field is required")]
        public int CellNumber { get; set; }
// CustomValidation.cs
  public class CustomFormValidation:ValidationAttribute
    {
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            var registration = (RegistrationTrainingForm)validationContext.ObjectInstance;
            if(registration.CellNumber==null)
            {
                return new ValidationResult("This field is required");
            }
                
            return base.IsValid(value, validationContext);
        }
    }
// Controller
        //GET:TrainingRegForm/Create/WebRequest.
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult SubmitRegDetails([Bind(Include= "Id, Title, FirstName, LastName, Position, Company, StreetAddress, StreetAddressLine, City, StateProvince, ZipCode,Email, CellNumber, DietaryRequirement")]TrainingRegForm eNtsaTraining)
        {
            if(ModelState.IsValid)
            {
                eNtsaTraining.Id = Guid.NewGuid();
                db.TrainingRegs.Add(eNtsaTraining);
                db.SaveChanges();
                return RedirectToAction("SaveRegForm");
            }
            // Validates when empty.
            if(ModelState.IsValid)
            {
                return RedirectToAction("SaveRegForm");
            }
            return View(eNtsaTraining);
        }
    
