【问题标题】:MVC3 Validation, Unobtrusive Validation - Asterisk for validation messageMVC3 验证,不显眼的验证 - 用于验证消息的星号
【发布时间】:2012-01-03 15:01:11
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我已经发布了我是如何做到的 here - 不确定我是否以最好的方式做到了,但已经提出了这个问题。

标签: asp.net-mvc-3 validation unobtrusive-validation


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-11-16
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多