.NET DataAnnotations - StringLength 和 MinimumLength

.NET DataAnnotations - StringLength and MinimumLength

我想使用如下所示的数据注释:

    [Required(ErrorMessage = "Please enter a review of at least 20 characters")]
    [StringLength(?????, MinimumLength = 20, ErrorMessage = "The tour location must be at least 20 characters")]
    public string Review { get; set; }

我想以某种方式表明没有最大长度,只有最小长度。我应该为第一个属性值输入什么以指示没有最大长度?当然,我可以使用类似 999999999 的东西,它基本上做同样的事情,但必须有更标准的方法。

MaxLength property is a set in the constructor of StringLengthAttribute。你不能不设置它。

您可以创建自己的属性实现,但这太过分了。
您可以继承并实现一个将 MaxLength 设置为默认最大值的属性。

或者……你可以简单地做:

[StringLength(Int32.MaxValue, MinimumLength = 20, ErrorMessage = "The tour location must be at least 20 characters")]

这基本上就是您在 999999999 中提出的建议,但至少它看起来更有目的性并且没有错误的余地(100000000 或以上...)。