我构建了一个自定义 ValidationAttribute,以便可以验证系统中的唯一电子邮件地址。但是,我想以某种方式传递自定义参数,以便为我的验证添加更多逻辑。
public class UniqueEmailAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
//I need the original value here so I won't validate if it hasn't changed.
return value != null && Validation.IsEmailUnique(value.ToString());
}
}
像这样?
public class StringLengthValidatorNullable : ValidationAttribute
{
public int MinStringLength { get; set; }
public int MaxStringLength { get; set; }
public override bool IsValid(object value)
{
if (value == null)
{
return false;
}
var length = value.ToString().Length;
if (length < MinStringLength || length >= MaxStringLength)
{
return false;
}
return true;
}
}
Use:
[StringLengthValidatorNullable(MinStringLength = 1, MaxStringLength = 16)]
public string Name {get; set;}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)