兩個錯誤這是我的模型:無論ErrorMessageString或ErrorMessageResourceName必須設置,但不使用CreditCardAttribute
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,所以不明白我做錯了什麼。任何人都可以幫忙嗎?
我在使用新的EmailAddress數據註釋時遇到了同樣的錯誤。這成功解決了這個問題。謝謝! –
但是,這也會刪除任何自定義錯誤消息集。檢查Ians回答一個傻瓜的方式! http://stackoverflow.com/a/16211476/268091 – MEMark
@MEMark這是爲了響應需要直接從資源設置錯誤消息。不知道我明白引用自定義錯誤消息。 –