jQuery-validate error messages in Twitter ...
http://www.jefclaes.be/2012/11/jquery-validate-error-messages-in.html
something satisfactory.
In this example, I have a bootstrapped form that looks like this.
@using (Html.BeginForm("ChangePassword", "Account", FormMethod.Post, new { @class = "form-horizontal"})) {
<div class="control-group"> <label class="control-label">Old password</label> <div class="controls"> @Html.PasswordFor(m => m.OldPassword) </div> </div> <div class="control-group"> <label class="control-label">New password</label> <div class="controls"> @Html.PasswordFor(m => m.NewPassword) </div> </div> <div class="control-group"> <label class="control-label">Confirm password</label> <div class="controls"> @Html.PasswordFor(m => m.ConfirmPassword) </div> </div> <div class="control-group"> <div class="controls"> <button type="submit" class="btn btn-primary">Change password</button> </div> </div> }
To make the error messages show up in tooltips on the input controls, I eventually ended up with the snippet below.
$.validator.setDefaults({ showErrors: function (errorMap, errorList) { this.defaultShowErrors(); // destroy tooltips on valid elements $("." + this.settings.validClass) .tooltip("destroy"); // add/update tooltips for (var i = 0; i < errorList.length; i++) { var error = errorList[i]; $("#" + error.element.id) .tooltip({ trigger: "focus" }) .attr("data-original-title", error.message) } } });
I'm setting a custom showErrors function to extend the behaviour of the jQuery validator. I don't want to lose the default behaviour (highlighting etc), so I start with invoking the default showErrors function, to then destroy the tooltip on all valid input elements and to finally add or update the tooltip and its title on all invalid input elements. The errorList argument holds all the information I need for this; an array of invalid elements and their corresponding error messages.
[Object, Object] > 0: Object >> element: <input> >> message: "The Current password field is required." > 1: Object >> element: <input> >> message: "The New password field is required." > length: 2
The end result looks like this.
【推荐】FlashTable:表单开发界的极速跑车,让你的开发效率一路狂飙
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步