我希望将字段验证显示为工具提示错误。但是,我无法看到没有js函数以我的形式触发。
我有以下模型
git filter-branch \
--tree-filter "find . -type f -not -wholename './source_code/*' -delete" HEAD
以及我在局部视图中的以下表格;
public class QuickContact
{
[Required]
[StringLength(100, ErrorMessage = "Your name must be at least {2} characters long.", MinimumLength = 6)]
public string Name { get; set; }
[Required]
[DataType(DataType.PhoneNumber)]
public string Telephone { get; set; }
}
生成的html是;
@using (Ajax.BeginForm(
"QuickContact",
"Contact",
new AjaxOptions
{
OnFailure = "contact.onFailure",
OnBegin = "contact.onBegin",
OnComplete = "contact.onComplete",
OnSuccess = "contact.onSuccess",
UpdateTargetId = "quickContactForm"
}))
{
@Html.AntiForgeryToken()
<div class="form-group">
@Html.EditorFor(x => x.Name, new { htmlAttributes = new { @class = "form-control", placeholder = "Enter your name..." } })
@Html.ValidationMessageFor(x => x.Name, null, new { @class = "text-danger" })
@Html.EditorFor(x => x.Telephone, new { htmlAttributes = new { @class = "form-control", placeholder = "Enter your telephone..." } })
@Html.ValidationMessageFor(x => x.Telephone, null, new { @class = "text-danger" })
<input type="submit" class="btn btn-block btn-primary" value="Submit" />
</div>
}
js会自动运行检查并正确显示错误,但这些只是显示在输入下方。
如何制作这些工具提示?
**编辑**
作为补充说明,我在这里使用工具提示找到了一个有效的exmape
但是,这是使用Html.BeginForm而不是Ajax.BeginForm。这里的区别在于它似乎是BeginForm呈现
数据-MSG-需要
而我的表单正在呈现
数据-VAL-需要
如果我特意将这些添加到输出中,那么示例中的js工作并显示工具提示。但是,如果我这样做,那么我实际上没有使用我的数据注释。