基于MetadataType的ASP.Net C#验证模型
发布时间:2020-05-23 20:12:42 所属栏目:asp.Net 来源:互联网
导读:我的团队正在使用MetadataType中的模型验证构建ViewModel.我的问题是我使用的是非MVC项目,我可以用它来验证模型吗?如果是的话,你能举个例子吗? [MetadataType(typeof(PersonMetadata))]public class Person{ public int ID { get; set; } public string Nam
|
我的团队正在使用MetadataType中的模型验证构建ViewModel.我的问题是我使用的是非MVC项目,我可以用它来验证模型吗?如果是的话,你能举个例子吗? [MetadataType(typeof(PersonMetadata))]
public class Person
{
public int ID { get; set; }
public string Name { get; set; }
}
public class PersonMetadata
{
[StringLength(255,ErrorMessage="Name is required"),Required]
[DisplayName("Name")]
public string Name { get; set; }
}
先谢谢你! 解决方法我不认为这是做事的好方法.通常,使用元数据类是一种设计气味.我最近转向 Fluent Validation for .NET,看起来很有前途,可以插入MVC,但不需要MVC.所有这一切,它是可行的: var person = new Person();
var controllerSlashValidator = new FakeControllerValidator();
ModelStateDictionary modelStateDictionary;
bool isValid = controllerSlashValidator.Validate(person,out modelStateDictionary);
这段代码需要下面的FakeControllerValidator public class FakeControllerValidator: Controller
{
public FakeControllerValidator()
{
this.ControllerContext = new ControllerContext(new RequestContext(new HttpContextWrapper(System.Web.HttpContext.Current),new RouteData()),this);
}
public bool Validate(object model,out ModelStateDictionary modelStateDictionary)
{
bool isValid = TryValidateModel(model);
modelStateDictionary = ModelState;
return isValid;
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET:文字属性中的单引号和双引号
- asp.net-mvc – ASP.NET MVC获取上次添加记录的ID
- asp.net-mvc – 在哪里提出持久性依赖的域事件 – 服务,存储
- ASP.NET Cookie过期时间始终是1/1/0001 12:00 AM
- asp.net-mvc-4 – 为什么MVC4 @ Styles.Render()在调试模式
- ASP.net MVC4:在局部视图中使用不同的模型?
- 介绍几种 ADO.net 中的数据库连接方式
- asp.net-mvc – 访问ASP.NET MVC应用程序中的控制器/操作列
- asp.net-mvc – 如何将ASP.Net MVC路径段中的1或0映射到布尔
- asp.net – 生成第二个标题标签的母版页
推荐文章
站长推荐
- asp.net-mvc – 在控制器的OnException中确定结果
- .net – %#%和%=%有什么区别?
- asp.net-mvc-4 – 将nopcommerce 2.8升级到3.10
- asp.net-mvc – 在ASP.NET MVC中,response.redir
- asp.net-mvc – 可以更改Html.DropDownListFor生
- asp.net-mvc-4 – GoogleOauth2问题获取Internal
- asp.net-mvc-2 – EditorFor – 传入字典的模型项
- 从VS发布到Azure时无法更改目标运行时
- ASP.Net RSS提要
- asp.net-mvc – 在同一个视图文件夹中的RenderPa
热点阅读
