asp.net-mvc – 如何在验证汇总中显示MVC 3客户端验证结果

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何在验证汇总中显示MVC 3客户端验证结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个注册表,我使用客户端验证(必需,在我的视图模型上指定的StringLength等).该表格现在几乎是scaffolder创建它:
@using (Html.BeginForm("Index","Registration"))
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Registration details</legend>
        @Html.ValidationSummary(false,"Please correct these errors:")
        @Html.ValidationMessageFor(model => model.Username)
        <div class="editor-label">
            @Html.LabelFor(model => model.Username)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Username)
        </div>
        <p>
            <input type="submit" value="Register" />
        </p>
    </fieldset>
}

唯一的区别是我将ValidationMessageFor移动到ValidationSummary下方的右上方.

我想做的是在验证摘要显示客户端验证错误.目前,它们只是显示在表单的顶部,但不使用验证摘要.如何使用验证摘要显示客户端验证错误?这是甚么可能吗?

更新

Darin我在一个新项目中使用了你的代码,当客户端验证开始时,这是我看起来像什么:

Client side validation http://i56.tinypic.com/i3f320.jpg

我希望在验证摘要显示验证摘要样式.我也提交了这样的表格:

After submit http://i55.tinypic.com/2hqcowh.jpg

谢谢,

B3N

解决方法

本文似乎解释了如何添加客户端验证汇总到验证总结中:

http://geekswithblogs.net/stun/archive/2011/01/28/aspnet-mvc-3-client-side-validation-summary-with-jquery-validation-unobtrusive-javascript.aspx

但是我没有自己测试,并且与您的代码似乎没有任何区别.如果它不起作用,可能会将jquery.validate.unobtrusive.js文件放在一个实际放置验证错误函数上:

function onErrors(form,validator) {  // 'this' is the form element
    var container = $(this).find("[data-valmsg-summary=true]"),list = container.find("ul");

    if (list && list.length && validator.errorList.length) {
        list.empty();
        container.addClass("validation-summary-errors")
          .removeClass("validation-summary-valid");

        $.each(validator.errorList,function () {
            $("<li />").html(this.message).appendTo(list);
        });
    }
}
原文链接:https://www.f2er.com/aspnet/250596.html

猜你在找的asp.Net相关文章