我的观点有限的验证消息空间,因此我想输出一个星号而不是验证消息。以下博客概述了如何通过向验证助手添加额外参数来实现此目的:
http://www.erroronlineone.com/2011/09/12/mvc3-display-an-asterisk-for-error-message/
@Html.ValidationMessageFor(model => model.Name, "*")
但我想输出星号或图像,并使用HTML title属性弹出一个显示验证消息。我是否必须改变不显眼的验证方式?或者你有更好的主意吗?感谢
答案 0 :(得分:0)
我已经发布了我在这里做过的ASP.NET MVC3 Custom Validation Message Behaviour - 不确定我是以最好的方式做到了,但已经提出了问题。
答案 1 :(得分:0)
一种方式,如果你是游戏,就是编辑不显眼的验证javascript文件。
错误消息显示在onError函数中。在这里,您可以按照自己的方式更改消息元素。例如(未经宣传):
function onError(error, inputElement) { // 'this' is the form element
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
replace = $.parseJSON(container.attr("data-valmsg-replace")) !== false;
container.removeClass("field-validation-valid").addClass("field-validation-error");
error.data("unobtrusiveContainer", container);
if (replace) {
container.empty();
// Set the "title" attribute and change the text to an asterisk.
error.prop("title", error.text());
error.text("*");
error.removeClass("input-validation-error").appendTo(container);
}
else {
error.hide();
}
}