繁体   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