1

我的代码中有这个验证摘要:

@Html.ValidationSummary(false, "Fix Error", new { id = "valSumId" } )

是否有 API 可以在运行时添加验证错误?虽然下面的代码有效,但感觉很脆弱,没有什么可以阻止 ASP.NET MVC 团队在下一个 ASP.NET MVC 版本中不使用 ul li 标签来显示错误。

$('input[type=submit]').click(function (e) {
    e.preventDefault();
    if ($('form').valid()) {
        /* ajax submit here */

        if (anErrorOccured) {
            $('#valSumId').removeClass().addClass('validation-summary-errors');
            errorList = $('#valSumId > ul');

                    // the message is variable, coming from JSON, and can be a list
            errorList.append($('<li />').text('Your ordered quantity is above the stock level'));
        }
    }
});
4

2 回答 2

1

这就是我想要实现的(参见底部的 jQuery 代码):http ://www.ienablemuch.com/2011/07/ivalidatableobject-client-side.html

目前,虽然我仍然不知道将错误插入客户端验证的 API,但使用 ul li 对它们进行硬编码就可以了。我已经对我想要实现的目标做了一个很好的包装,所以在将来的任何时候我都会发现 jQuery 验证 API,该程序与需要进行的代码更改是隔离的。

于 2012-09-29T16:10:18.260 回答
0

不,没有。您概述的方法不属于客户端。诸如“您的订购数量高于库存水平”之类的消息确实应该来自服务器。您可以使用远程验证或服务器端验证来设置类似的验证,这两种验证都可以输入验证摘要,而无需手动添加它们。

于 2011-07-18T17:28:03.753 回答