簡體   English   中英

asp.net mvc 覆蓋驗證消息

[英]asp.net mvc override validation message

我正在使用 asp.net mvc 5 並想更改驗證消息文本。 例如,

[Required]
public string name{ get; set; }

我進行了必要的驗證,錯誤消息顯示為:“名稱字段是必需的。” 但我想為所有必需的驗證更改“我的文本”。

我可以這樣做

[Required (ErrorMessage="something my text")]

但我不想為每個參數重復這個。

如果您非常願意使用帶有自定義錯誤消息的Required屬性,那么我有一個簡單的建議,那么為什么不使用HTML 5來代替

@Html.TextBoxFor(m => m.name, 
new { @class = "form-control", placeholder = "name", required="Name is required"})

我在 MVC5 中使用的其他方式是這樣的

    [Required]
    [StringLength(100, ErrorMessage = "The {0} must be at least {8}      characters long.", MinimumLength = 6)]
    [Display(Name = "User Name")]
    public string UserName{ get; set; }

我希望這會有所幫助

我認為這是無法避免的。 我們可以使用反射(盡管這不是最佳實踐),但是,屬性是程序集的靜態部分,動態添加將非常有問題,此外,它還會降低代碼的可理解性。

但是,如果您仍然想嘗試一下,我建議您查看這個答案: How to add an attribute to a property at runtime

我不能讓它工作,但也許你可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM