1

我是 MVC 的新手,最近我正在研究数据验证,我想知道不是为每个参数提供验证注释,有没有一种方法可以为类中的一组参数定义验证规则?例如,一个类是这样的:

namespace MvcApplication1.Models
{ 
    public class Product
    {
        public int Id { get; set; }

        [Required]
        [StringLength(10)]
        public string Param1 { get; set; }

        [Required]
        public string Param2 { get; set; }

        [DisplayName("Param3")]
        [Required]
        public string Param3 { get; set; }
    }
}

有没有办法为 Param1、Param2 和 Param3 定义一个规则,例如,至少需要其中的 2 个?

4

3 回答 3

1

很容易使用。试试这个。 MVC 万无一失的验证

这就是您可以构建自己的自定义验证的方式。 http://www.nickriggs.com/posts/build-model-aware-custom-validation-attributes-in-asp-net-mvc-2/

于 2013-01-07T04:48:22.617 回答
0
DataType

Specify the datatype of a property
DisplayName

specify the display name for a property.
DisplayFormat

specify the display format for a property like different format for Date proerty.
Required

Specify a property as required.
ReqularExpression

validate the value of a property by specified regular expression pattern.
Range

validate the value of a property with in a specified range of values.
StringLength

specify min and max length for a string property.
MaxLength

specify max length for a string property.
Bind

specify fields to include or exclude when adding parameter or form values to model properties.
ScaffoldColumn

specify fields for hiding from editor forms.
于 2014-03-13T19:15:49.300 回答
0

对于像这样更高级的验证,我会推荐 FluentValidation http://fluentvalidation.codeplex.com/

您可以创建自己的自定义验证器:http: //fluentvalidation.codeplex.com/wikipage?title= Custom&referringTitle=Documentation

于 2013-01-07T04:39:41.323 回答