Member-515487 Ответов: 0

Как удалить существующую оценку dataannotaion и добавить динамическую проверку


Хотел удалить регулярную экспресс проверку только добавить требуемую проверку

я не могу удалить обычную экспресс-проверку

public class HomeController : Controller
   {

       public ActionResult Index()
       {
           ModelValidatorProviders.Providers.Add(new CustomMetadataValidationProvider());
           return View();
       }

       [HttpPost]
       public ActionResult Index(Person objPerson)
       {

           if (ModelState.IsValid)
           {

           }
           return View(objPerson);
       }

   }



   public class CustomMetadataValidationProvider : DataAnnotationsModelValidatorProvider
   {
       protected override IEnumerable<modelvalidator> GetValidators(ModelMetadata metadata, ControllerContext context, IEnumerable<attribute> attributes)
       {
           if (!string.IsNullOrWhiteSpace(metadata.PropertyName) && metadata.PropertyName == "FirstName")
           {
                attributes = new List<attribute>() { new RequiredAttribute() };
           }
           return base.GetValidators(metadata, context, attributes);
       }
   }


   public class Person
   {
       [RegularExpression(@"^[a-zA-Z0-9\-\s]*$")]
       public string FirstName { get; set; }
   }


просто я хочу, чтобы удалить регулярным выражением проверить validatin нужно всего лишь добавить необходимые проверки

Что я уже пробовал:

DataAnnotationsModelValidatorProvider есть способ, чтобы добавить динамические проверки на время выполнения

0 Ответов