![](/img/trans.png)
[英]How can I customize the unobtrusive validation in ASP.NET MVC 3 to match my style?
[英]How can I customize the unobtrusive validation JQuery messages in ASP NET MVC?
我有一個表單,當它進行不引人注意的驗證時,我希望它顯示:
此消息: “請輸入值。 ”
而不是這條消息: “此字段是必需的。”
我嘗試在我的jquery.validate.unobtrusive.js文件的末尾添加它
(function ($) {
$.extend($.validator.messages, {
required: "Please enter a value."
});
}(jQuery));
但它只是不起作用。
我也嘗試直接修改jquery.validate.js文件中的“messages”變量,但它也無法正常工作。
你能告訴我怎樣才能完成這件事?
如果您正在使用數據注釋屬性,並且不想為每個屬性自定義消息(通過您的一條評論顯示這是這種情況),我可以看到兩個選項:
1)創建自己的數據注釋屬性並設置默認消息,並將[Required]
所有實例更改為新屬性。
2)你可以在jQuery中嘗試:
// reset the form's validator
$("form").removeData("validator");
// change the text on each required attribute
$(":input[data-val-required]").attr("data-val-required", "Please enter a value");
// reapply the form's validator
$.validator.unobtrusive.parse(document);
我在Chrome的控制台中嘗試了這個javascript,一切似乎都運行正常。 您需要這樣做的原因是1)驗證規則由瀏覽器緩存,因此您需要清除它們(有關詳細信息,請參閱此答案 )。 2)所有的錯誤消息是在HTML標記,一旦呈現頁面,所以這就是你需要更改驗證消息。
為什么不在驗證attrs上使用ErrorMeesage
[Required(ErrorMessage="Please enter a value.")]
編輯:從ThisPost ,這是另一種方法:
MyNewResource.resx
。 PropertyValueInvalid
(例如,“內容{0}對於字段{1}無效”)。 如果您想更改PropertyValueRequired
也可以添加它。 DefaultModelBinder.ResourceClassKey = "MyNewResource"
到您的Global.asax啟動代碼中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.