模型绑定和验证

时间:2017-04-24 19:58:06

标签: c# asp.net fluentvalidation

我正在开发Asp.Net中的自定义模型绑定,我需要在绑定期间修改一个值,然后将模型传递给流畅的验证器。 代码如下所示:

验证:

    public MyValidator()
    {
        Custom(e =>
        {
            if (e.property != 1)
                return new ValidationFailure();

            return null;
        });
    }

模型绑定器:

    public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        var model = base.BindModel(controllerContext, bindingContext) as IMyEntity;

        model.property = 1;

        return model;
    }

问题是验证是在base.BindModel期间完成的,而不是在整个绑定结束时完成的。因此,验证总是失败。

有没有办法阻止base.BindModel期间的验证并等待绑定完成?

0 个答案:

没有答案