这是我的模型:
namespace MvcApplication2.Models
{
public class CreditCard
{
[CreditCard(ErrorMessageResourceType = typeof(Messages), ErrorMessageResourceName = "CardNumberInvalid")]
public string CardNumber { get; set; }
}
}
这是我的 Messages.resx:
名称 值
CardNumberInvalid 检查您的卡号是否正确
这是我的观点:
@model MvcApplication2.Models.CreditCard
@Html.TextBoxFor(m => m.CardNumber);
在 MVC 版本 3 中,这可以正常工作。在 MVC 4 中,当我转到此页面时,我得到一个异常提示“必须设置 ErrorMessageString 或 ErrorMessageResourceName,但不能同时设置”。这只发生在 CreditCardAttribute 上。其他验证属性(例如RequiredAttribute)可以正常工作。我只设置了 ErrorMessageResourceName。我没有设置ErrorMessageString,所以不明白我做错了什么。有人可以帮忙吗?