MVC自定义客户端验证

MrM*_*Man 0 asp.net-mvc-3

在我的mvc 3应用程序中,我想在用户尝试提交表单时执行一个函数.在该功能中,我将检查多个字段以确定用户是否在提交之前提供了必要的数据.

当用户尝试提交表单时,如何连接要执行的脚本?

(在自定义验证功能中,我需要检查是否已选中各种复选框,如果是,则从下拉列表中选择其他值等)

Dar*_*rov 5

当用户尝试提交表单时,如何连接要执行的脚本?

您可以订阅.submit表单的事件,并在调用标准客户端验证后调用您的自定义函数:

$(function() {
    $('form').submit(function() {
        if (!$(this).valid()) {
            // standard client validation failed => prevent submission
            return false;
        }

        // at this stage client validation has passed. Here you could call your
        // function and return true/false depending on the result of your
        // custom function
    });
});
Run Code Online (Sandbox Code Playgroud)

另一种可能性是编写自定义验证属性并连接自定义适配器,如本答案类似答案所示.