【发布时间】:2014-11-10 19:32:22
【问题描述】:
我正在尝试构建一个自定义 ValidationAttribute 来验证给定字符串的字数:
public class WordCountValidator : ValidationAttribute
{
public override bool IsValid(object value, int count)
{
if (value != null)
{
var text = value.ToString();
MatchCollection words = Regex.Matches(text, @"[\S]+");
return words.Count <= count;
}
return false;
}
}
但是,这不起作用,因为 IsValid() 仅允许单个参数,即被验证对象的值,因此我不能以这种方式覆盖该方法。
关于如何在仍然使用简单剃须刀格式的同时完成此任务的任何想法:
[ViewModel]
[DisplayName("Essay")]
[WordCount(ErrorMessage = "You are over the word limit."), Words = 150]
public string DirectorEmail { get; set; }
[View]
@Html.ValidationMessageFor(model => model.Essay)
【问题讨论】:
标签: c# asp.net-mvc validation razor