关于MVC3不显眼的验证:如何从一组元素中删除/重新附加验证?
首先,我们需要了解MVC3是一种软件架构模式,它将应用程序的数据模型、用户界面和业务逻辑分离开来。在MVC3中,验证是通过模型类的属性来实现的。
在这个问题中,我们需要从一组元素中删除或重新附加验证。为了实现这个功能,我们可以使用以下方法:
要从一组元素中删除验证,我们可以使用以下方法:
ModelClientValidationRule[] rules = ModelValidator.GetClientValidationRules(metadata, context);
这将返回一个包含所有验证规则的数组。然后,我们可以使用以下代码来删除特定的验证规则:
rules = rules.Where(r => r.ValidationType != "required").ToArray();
这将删除所有名为“required”的验证规则。
要重新附加验证,我们可以使用以下方法:
ModelClientValidationRule[] rules = ModelValidator.GetClientValidationRules(metadata, context);
这将返回一个包含所有验证规则的数组。然后,我们可以使用以下代码来重新附加特定的验证规则:
rules = rules.Concat(new[] { new ModelClientValidationRule { ValidationType = "required", ErrorMessage = "This field is required." } }).ToArray();
这将重新附加一个名为“required”的验证规则,并设置错误消息为“This field is required.”。
总结:
要从一组元素中删除或重新附加验证,我们可以使用ModelValidator.GetClientValidationRules()
方法获取所有验证规则,然后使用Where()
和Concat()
方法来删除或重新附加特定的验证规则。
领取专属 10元无门槛券
手把手带您无忧上云