MVC3 验证、不显眼的验证 - 验证消息的星号

发布于 2024-12-24 18:16:37 字数 440 浏览 1 评论 0 原文

我的视图用于验证消息的空间有限,因此我想输出星号而不是验证消息。以下博客概述了如何通过向验证助手添加额外参数来实现此目的:

http://www.erroronlineone.com/2011/09/12/mvc3-display-an-asterisk-for-error-message/

@Html.ValidationMessageFor(model => model.Name, "*")

但我想输出一个星号或图像并使用 HTML 标题属性弹出一个显示验证消息的窗口。我是否必须改变不引人注目的验证的工作方式?或者你有更好的主意吗?谢谢

My views have limited space for validation messages and because of this i want to output a asterisk instead of the validation message. The following blog outlines how to do this by adding a extra parameter to the validation helper:

http://www.erroronlineone.com/2011/09/12/mvc3-display-an-asterisk-for-error-message/

@Html.ValidationMessageFor(model => model.Name, "*")

But I want to output a asterisk or an image and using the HTML title attribute have a pop up displaying the validation message. Would I have to change the way unobtrusive validation works? Or do you have a better idea? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝颜夕 2024-12-31 18:16:37

如果您是游戏玩家,一种方法是编辑不显眼的验证 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();
    }
}

One way, if you are game, is to edit the unobtrusive validation javascript file.

The error message is displayed in the onError function. Here you can change the message element any way you wish. For example (unminified):

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();
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文