MVC 正则表达式模型属性问题
MVC RegularExpression Model Attribute Issue
我有一个模型,有一个 属性 和一个 ReqularExpression
属性,看起来像这样...
[RegularExpression(@"^[0-9]{2}\s[a-zA-Z]{3}$", ErrorMessage = "Invalid Facility {NN CCY}")]
public string Facility { get; set; }
然后局部视图只有一个文本框使用上面的 属性...
@Html.TextBoxFor(model => model.Facility, new { @class = "form-control",
placeholder = "Should be NN CCY, example: 01 EUR" })
@Html.ValidationMessageFor(model => model.Facility)
死亡黄屏给我这个错误:
[FormatException: Input string was not in a correct format.]
System.Text.StringBuilder.AppendFormat(IFormatProvider provider,
String format, Object[] args) +14305394
System.String.Format(IFormatProvider provider, String format, Object[]
args) +136
System.Web.Mvc.RegularExpressionAttributeAdapter.GetClientValidationRules()
+64 System.Linq.d__142.MoveNext() +267 System.Web.Mvc.UnobtrusiveValidationAttributesGenerator.GetValidationAttributes(IEnumerable
1
clientRules, IDictionary`2 results) +456
System.Web.Mvc.HtmlHelper.GetUnobtrusiveValidationAttributes(String
name, ModelMetadata metadata) +280
字段中除了占位符外没有填充任何内容,我收到此错误,突出显示了 @Html.TextBoxForLine
。删除属性解决了问题,我在这里缺少什么?
我通过进一步调查发现了这个问题,并且 this article 给了我一个提示 StringBuilder.AppendFormat
在字符串中使用花括号的地方。我的 ErrorMessage
、"Invalid Facility {NN CCY}" 包含花括号,我用圆括号替换了它们,现在可以使用了。
我暂时把它留在这里,以防其他人遇到类似的令人沮丧的问题。
我有一个模型,有一个 属性 和一个 ReqularExpression
属性,看起来像这样...
[RegularExpression(@"^[0-9]{2}\s[a-zA-Z]{3}$", ErrorMessage = "Invalid Facility {NN CCY}")]
public string Facility { get; set; }
然后局部视图只有一个文本框使用上面的 属性...
@Html.TextBoxFor(model => model.Facility, new { @class = "form-control",
placeholder = "Should be NN CCY, example: 01 EUR" })
@Html.ValidationMessageFor(model => model.Facility)
死亡黄屏给我这个错误:
[FormatException: Input string was not in a correct format.]
System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args) +14305394
System.String.Format(IFormatProvider provider, String format, Object[] args) +136
System.Web.Mvc.RegularExpressionAttributeAdapter.GetClientValidationRules() +64 System.Linq.d__142.MoveNext() +267 System.Web.Mvc.UnobtrusiveValidationAttributesGenerator.GetValidationAttributes(IEnumerable
1 clientRules, IDictionary`2 results) +456
System.Web.Mvc.HtmlHelper.GetUnobtrusiveValidationAttributes(String name, ModelMetadata metadata) +280
字段中除了占位符外没有填充任何内容,我收到此错误,突出显示了 @Html.TextBoxForLine
。删除属性解决了问题,我在这里缺少什么?
我通过进一步调查发现了这个问题,并且 this article 给了我一个提示 StringBuilder.AppendFormat
在字符串中使用花括号的地方。我的 ErrorMessage
、"Invalid Facility {NN CCY}" 包含花括号,我用圆括号替换了它们,现在可以使用了。
我暂时把它留在这里,以防其他人遇到类似的令人沮丧的问题。