【发布时间】:2013-05-01 17:55:09
【问题描述】:
我将一个项目从 MVC3 升级到 MVC4,并注意到我的一个验证器不再触发。我将其追踪到 Shared/EditorTemplates 文件夹中的自定义 DataType,该文件夹用于在整个站点中以各种形式捕获社会安全号码。 (我们只在保存后加载页面时显示最后 4 位数字,以解释正则表达式。)
SSN.cshtml
@{
var ssn = (string)ViewData.TemplateInfo.FormattedModelValue;
if (!String.IsNullOrWhiteSpace(ssn)){
ssn = "###-##-" + Model.Substring(Model.Length - 4, 4);
}
}
@Html.TextBox("", ssn, new { @class = "text-box single-line ssn", pattern = @"^(\d{3}|###)-(\d{2}|##)-\d{4}$", placeholder = "###-##-####", title = "Expected pattern is ###-##-####" })
似乎在 MVC4 中,不显眼的验证想要寻找 data-val-regex-pattern 作为呈现文本框的属性,而不仅仅是 pattern。有没有人遇到过这种情况?
注意:我想保留自定义数据类型的验证,因此我不必总是记得将其添加到每个模型中。
谢谢!
【问题讨论】:
标签: regex validation asp.net-mvc-4