工具提示中的MVC3验证错误消息

时间:2012-02-20 14:32:40

标签: jquery asp.net asp.net-mvc-3

我是ASP.NET和MVC3的新手。我有一个项目,其中MVC3验证错误消息需要在工具提示中显示而不更新jquery.validate.unobtrusive.js。 我试过这个

click here

但无法让它发挥作用。这是我应该根据上面的链接使用的功能。它说在这里做点什么......我无法弄清楚我应该写什么代码来显示错误消息,当验证失败时,在必填字段旁边显示错误图标。

$(function() {
    var settngs = $.data($('form')[0], 'validator').settings;
    var oldErrorFunction = settngs.errorPlacement;
    var oldSucessFunction = settngs.success;
    settngs.errorPlacement = function (error, inputElement) {
        //Do something here
        oldErrorFunction(error, inputElement);
    }
    settngs.success = function (error) {
        //Do something here
        oldSucessFunction(error);
    }
});

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

您可以使用以下css,

.myfield-validation-error
{
    content: "";
    display: inline-block;
    height: 16px;
    width: 16px;
    margin-right: 4px;
    background-image:url(../../Images/Close-2-icon.png);
}
.myfield-validation-valid
{
    content: "";
    display: inline-block;
    height: 16px;
    width: 16px;
    margin-right: 4px;
    background-image:url(../../Images/Ok-icon.png);
}

然后,您可以在成功和失败回调中使用这些类,

<script>
    $(function () {
        var settngs = $.data($('form')[0], 'validator').settings;
        var oldErrorFunction = settngs.errorPlacement;
        var oldSucessFunction = settngs.success;
        settngs.errorPlacement = function (error, inputElement) {
            $(inputElement).closest('div').next().removeClass('myfield-validation-valid').addClass('myfield-validation-error')
            oldErrorFunction(error, inputElement);
        }
        settngs.success = function (error) {
            $(error).closest('div').addClass('myfield-validation-valid').removeClass('myfield-validation-error')
            oldSucessFunction(error);
        }
    });
</script>

进一步检查this链接。

答案 1 :(得分:1)

如果您使用的是MVC3,则可以利用所提供的验证。查看Account Controller - Register View以获取如何实现它的示例。

研究(在视图中):

  

@ Html.ValidationSummary(true,“帐户创建失败。   请更正错误,然后重试。“)

和Class for:

  

System.ComponentModel.DataAnnotations.RequiredAttribute