gpt4 book ai didi

asp.net-mvc - MVC模型验证程序化注册支持

转载 作者:行者123 更新时间:2023-12-04 20:06:11 25 4
gpt4 key购买 nike

今天(2010年1月15日),Scott撰写了有关ASP.NET MVC2模型验证的博客

http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

谁知道有人可以在运行时以编程方式添加验证规则吗?

“程序化注册”是ValidationAspects支持的类似功能

// register lambda syntax validation functions
typeof(User).GetProperty("Name").AddValidation<string>((name, context) =>
{ if (!Exists(name)) { throw new ValidationException("Username is unknown"); } } );

// register validation factories (classes)
typeof(User).GetProperty("Name").AddValidation(new [] { new NotNullOrEmpty()} );

// don't like strings?
TypeOf<User>.Property(user => user.Name).AddValidation(new [] { new NotNullOrEmpty()} );

最佳答案

要提供自定义元数据,您必须实现抽象类ModelMetadataProvider并将其注册到您的global.asax中:

           ModelMetadataProviders.Current = new ConventionMetadataProvider();


这不是在运行时添加验证属性。您只需将所有验证信息提供给ModelMetadata类,然后由HTML.EditorFor位读取。

关于asp.net-mvc - MVC模型验证程序化注册支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2074214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com