ASP .NET MVC 3 Validation unobtrusive - 验证规则的评估顺序

发布于 2024-12-26 13:10:18 字数 731 浏览 1 评论 0原文

我创建了一个自定义 ValidationAttribute“RequiredIf”,用于根据另一个字段确定一个字段是否为空。我已经创建了适配器并添加了方法。

这是示例: http://anthonyvscode .com/2011/07/14/mvc-3-requiredif-validator-for-multiple-values/

问题在于该属性的元数据多于requiredif 且属性为 Int32,因为如果我的表单在客户端上进行验证,则首先评估该值是否为数字,然后评估该值是否为空。

        [Display(Name = "Number of cars")]
        [RequiredIf("IsRent", true, ErrorMessage = "Number of cars is required")]
        [Range(0, 9, ErrorMessage = "Error range")]            
        public virtual Int32? NumberCars
        {
            set;
            get;
        }

我该如何解决这个问题?需要正确的规则顺序if、数量和范围。

I have created a custom ValidationAttribute "RequiredIf", to determinate wether a field is empty or not according to another field. I have created the adapter and I have added the method.

Here is the example: http://anthonyvscode.com/2011/07/14/mvc-3-requiredif-validator-for-multiple-values/

The problem is that the property has more metadata than requiredif and the property is Int32, for that if my form is validated on client, firstly it is evaluated if the value is a number and after if the value is empty.

        [Display(Name = "Number of cars")]
        [RequiredIf("IsRent", true, ErrorMessage = "Number of cars is required")]
        [Range(0, 9, ErrorMessage = "Error range")]            
        public virtual Int32? NumberCars
        {
            set;
            get;
        }

How can I fix it?The right order of the rules would be requiredif, number and range.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文