允许属性为null或指定长度

时间:2014-08-15 18:14:39

标签: c# data-annotations asp.net-web-api2

我有以下定义。

[StringLength(4, MinimumLength = 4, ErrorMessage = "Mobile Last 4 must be 4 digits.")]
public string MobileLast4 { get; set; }

我希望能够使用null ,如果字段确实有值,那么它的长度必须为4个字符。

我遇到的问题是如果属性为null,则验证失败。我应该使用另一个属性,还是需要自己滚动?

我想我可以使用带有范围属性的可空int来解决这个问题,但我还有其他不接受数字的属性。

1 个答案:

答案 0 :(得分:3)

使用[StringLength]属性不会使该字段成为必需字段。如果验证失败,则不是由您显示的代码引起的。