相关疑难解决方法(0)

ASP.NET MVC 3:在需要模型外部信息时验证模型

当需要模型外部的信息以进行验证时,验证模型的好方法是什么?例如,请考虑以下模型:

public class Rating {
    public string Comment { get; set; }
    public int RatingLevel { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后,系统管理员可以设置RatingLevels需要注释的对象.这些设置可通过设置服务获得.

因此,为了完全验证模型,我需要外部信息,在这种情况下是设置服务.

到目前为止我考虑过以下几点:

  1. 将服务注入模型.DefaultModelBinder使用System.Activator创建对象,因此它不经过正常的依赖解析器,并不会产生一个新的模型绑定(我不能注入服务到模型中,除了这,不觉得自己是正确的如何去做).
  2. 将服务注入注释.我还不确定这是可能的,但很快就会进行调查.它仍然感觉笨拙.
  3. 使用自定义模型绑定器.显然我可以实现OnPropertyValidating来进行自定义属性验证.到目前为止,这似乎是最优选的,但我还不确定如何做到这一点.

哪种方法,无论上述与否,最适合此类验证问题?

validation asp.net-mvc-3

11
推荐指数
2
解决办法
4182
查看次数

标签 统计

asp.net-mvc-3 ×1

validation ×1