微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc-3 – 未调用FluentValidation验证程序

我有一个MVC 3站点,但我正在使用非MVC FluentValidation dll.我已经创建了一个验证器类,并在构造函数中放置了所有的RuleFors,然后在我的模型类上设置了一个属性

[FluentValidation.Attributes.Validator(typeof(MyValidator))]

问题是验证器类上的构造函数永远不会被调用.我想这可能是因为我没有使用dll的MVC版本,但后来我也无法让这个版本适用于我.

任何帮助,将不胜感激.

谢谢,

萨钦

解决方法

在Application_Start中,确保已初始化自定义流畅验证模型验证器提供程序,否则不会发生任何事情:

FluentValidation.Mvc.FluentValidationModelValidatorProvider.Configure();

FluentValidationModelValidatorProvider类在FluentValidation.Mvc程序集中定义.请查看integrating FluentValidation into an ASP.NET MVC site的文档.

当您使用[Validator]属性修饰的模型作为参数调用控制器操作时,将触发验证器:

[HttpPost]
public ActionResult Process(Myviewmodel model)
{
    ...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐