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