如何创建不是必需的数据字段,但是如果字符串不为空,则必须具有最小和最大长度要求。
我已经读过.NET mvc3 validation minimumlength, but not required,但这是针对.net mvc3的,我认为可能会有一个新的更复杂的解决方案。
[MinLength(6, ErrorMessage = "Минимално 6 символа")]
[StringLength(12, ErrorMessage = "Максимално 12 символа")]
[Display(Name = nameof(TextResources.Egn), ResourceType = typeof(TextResources))]
public string ClientIdentifier { get; set; }
答案 0 :(得分:1)
在这种情况下,无需验证属性,而是使用自定义方法,并在初始化期间调用该方法。
if(!string.Isnullorempty(ClientIdentifier))
{
if()//check min and max length
throw exception
}
答案 1 :(得分:1)
尝试如下所示更改代码,StringLength属性可让您设置字符串属性的最大长度,以及可选的最小长度。
[StringLength(12, MinimumLength = 6, ErrorMessage = "The field must be a string with a minimumLength of 6 and a maxmumLength of 12")]
[Display(Name = nameof(TextResources.Egn), ResourceType = typeof(TextResources))]
public string ClientIdentifier { get; set; }