【发布时间】:2015-02-10 07:49:00
【问题描述】:
我尝试为我的注册表建立验证。我正在使用 jQuery 验证。当文本框为空时,我希望错误消息显示为占位符。当添加文本但仍然抛出错误时,我想使用自定义设置。
我的问题是在调试这段代码时:
.validate({
debug: true,
errorPlacement: function (error, element) {
if (element.value === "") {
element.attr("placeholder", error.text());
}
else {
alert(element.value);
}
}
});
我在 elment.value 上未定义。根据 Devtools element.value 是文本框中的文本(在文本框中添加文本时会发生变化),但当我将值视为左侧的红色圆圈时,它也表示它是未定义的。
我正在为文本框表单使用 MVC 助手:
@Html.TextBoxFor(m => m.SurName, new { @class = "form-control required", placeholder = "Förnamn", @type = "SurName" })
我使用了错误的值或属性?
【问题讨论】:
-
什么是
@type = "SurName"?这不是有效的type属性 -
SurName 来自我的 ViewModel,它有一个相应的列。像这样:[Column("SurName")]。它使自动填充功能在我的浏览器中正常工作。
-
Here 是有效的
type属性列表 - 还是您的意思是id = "SurName"? -
我使用了一个指南,展示了如何使用 Columns 创建自定义类型。我现在找不到它,但它解决了我将正确的值设置为自动填充的问题。这与我的 JavaScript 问题有关吗?
-
我不知道。我只是提出它,因为它是无效的 html。但是看着你的屏幕截图(RHS),它实际上显示
type="text"。
标签: javascript jquery asp.net-mvc jquery-validate