簡體   English   中英

通過驗證屬性添加自定義 html 屬性

[英]Add custom html attribute through validation attribute

在 mvc5 中,每當您使用[MaxLength(10)]屬性時,它都會生成以下 html 屬性:

`data-val-maxlength="The field Email must be a string or array type with a maximum length of '10'."

這很好,很有用,但我希望做的就是防止用戶在達到最大長度后輸入。 為此,我可以使用 html 屬性maxlength現在,我想弄清楚的是如何將自定義屬性注入到 html 字段中,而它沒有前綴data-val-

我嘗試通過IClientValidatable執行此IClientValidatable但這會生成 data-val- 前綴。 這可能嗎?

1.MVC5剃須刀

使用 MVC 5 Razor HTML 幫助程序設置屬性。

@Html.TextBoxFor(m => m.Name, new {maxlength = "10"})

2. 客戶端腳本

您可以使用一些 Javascript 代碼(此示例使用 jQuery)將值從生成的屬性移動到 html 屬性。

$("input[data-val-maxlength]").each(function (index, element) {
   var length = parseInt($(this).data("val-maxlength"));
   $(this).prop("maxlength", length);
});

暫無
暫無

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

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