由於幾天我已經對我的頭撞,嘗試了所有想法(nooby或不),但似乎我無法得到它的工作。Html.ValidationMessageFor圖像和工具提示
我試圖歸檔的是: 而不是原始的驗證消息我想只顯示帶有jQuery工具提示的圖標。 此外,解決方案應易於維護......意味着在需要驗證的每個視圖上都可用。
我試過到目前爲止:
@Html.ValidationMessageFor(Function(m) m.Password, Nothing, New With {.class = "ValWarn"})
CSS:
.ValWarn {content: url(images/Warning.png);margin: 0.1em;}
結果:image 1
問題:我不能指定確認消息,其標題。
測試#20357
<div id="divhiddenval" style="display: none;">
@Html.ValidationMessageFor(Function(m) m.Password)
</div>
@Html.PasswordFor(Function(m) m.Password)
<div id="[email protected](Function(m) m.Password)" style="display: inline;"></div>
的Javascript:
$(document).ready(function() {
fullValidation();
$('form').submit(function() {
if (! $(this).valid()) {
fullValidation();
return false;
}
});
$('input').keydown(function() {
singleValidation(this.id);
tooltip();
});
});
function singleValidation(_id) {
var _err = $("span[data-valmsg-for='" + _id + "']");
if ($(_err).text() != "") {
$("#valdiv_" + $(_err).attr("data-valmsg-for")).html("<span class='ValWarn tooltip' title='<span class="warncolor">" + $(_err).text() + "</span>'></span>");
} else {
$("#valdiv_" + $(_err).attr("data-valmsg-for")).html("");
}
}
function fullValidation() {
$("#divhiddenval span[data-valmsg-for]").each(function() {
singleValidation($(this).attr("data-valmsg-for"));
})
tooltip();
}
問題:這是一種矯枉過正的來電提示()各一次。它也不能在第一次按鍵時使用。它在我移出輸入並再次移入輸入時起作用。所以按鍵不會開火,直到失去焦點一次。
下一次嘗試: 我在互聯網上的某個地方找到了ValidationHTMLMessageFor Extension。相當接近,但到目前爲止... 我的應用程序是全球化的,所以我將被迫在每個資源字符串之前添加圖像作爲dataanotations它只需要靜態字符串。此外,工具提示問題也不會得到解決。
因此,根本......我不能想到任何其他方法,將工作,因爲我想要它。 在另一方面,我不能相信,微軟則讓公司很難通過我們自己的:(
如果有人請能幫助我解決這個問題?
早上好,感謝您分享的鏈接。 兩個問題,我這個解決方案遇到的問題。 1.如果我有一個屬性的多個驗證規則?讓我們說它是必需的,也有一個數據val長度?該鏈接中描述的方法沒有趕上當前的錯誤。所以,如果我有3個長度設置了密碼,則提示仍然會顯示所需的錯誤,而不是長度誤差。 2.問題......這個人是最討厭...如果我不使用ValidationMessageFor的所有屬性我得到一個「unexcpected令牌U」從unonbstutive JS。最討厭的東西tbh – GeekByChoiCe 2015-04-03 05:43:25