所以我喜欢做的是:
[NotLike(Value = "Forbidden value")]
public string Title { get; set; }
是否有可能?我已经阅读了 Microsoft 的文档,但找不到类似的内容。
您应该使用ValidationAttribute
并继承它,如下所示:
public class NotLikeAttribute : ValidationAttribute
{
private string _NotLikeStr = "";
public NotLikeAttribute(string notLikeStr)
{
this._NotLikeStr = notLikeStr;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value != null)
{
if (!((string)value).Contains(_NotLikeStr))
{
var memberName = validationContext.MemberName;
var errorMsg = "Your Message";
return new ValidationResult(errorMsg);
}
}
return null;
}
}
并按如下方式装饰您的财产:
[NotLike("Forbidden value")]
public string Title { get; set; }
当然,而不是使用下面的行
if (!((string)value).Contains(_NotLikeStr))
您可以split string to multiple words
或使用Regular expression
或任何符合您要求的东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句