钩子成功事件MVC验证(每个字段)

时间:2013-05-08 19:30:54

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

我正在移除表单上的默认错误消息,我正在用一些工具提示替换它们。

有没有办法捕获每个字段的验证事件?

当用户开始在“资产名称”文本框中键入一些文本时,文本框上的红色背景将消失。我也想删除我的工具提示。

Form

这就是我构建工具提示的方式:

$("#frmAsset").submit(function (evt) {

        var myvalues = new Array();
        var mynames = new Array();

        var errors = $(".input-validation-error");
        errors.each(function (index) {
            var name = $(this)[0].id;
            var value = $('span[for="' + name + '"]')[0].innerText;

            mynames[index] = name;
            myvalues[index] = value;

        });

        // Build and show tooltop error messages
        $.each(myvalues, function (index) {
            Tipped.create($("#" + mynames[index]), myvalues[index], {
                skin: 'red',
                hideOn: test(),
                hook: {
                    target: 'rightmiddle',
                    tooltip: 'leftmiddle'
                }
            }).show();
        });

        // Hide built-in error messages
        $('.field-validation-error').hide();

        var valid = $("#frmAsset").valid();
        if (valid == true) {
            $.ajax({
                type: "POST",
                url: "/Asset/Create",
                data: $("#frmAsset").serialize(),
                success: function (data) {
                    alert('success!');
                    console.log(data.Message);

                    // Close popup window
                    var window = $('#AssetEditorPopUp').data("kendoWindow");
                    window.close();

                    // Refresh grid to show changes
                    $('#grid').data("kendoGrid").dataSource.read();
                },

                error: function () {
                    alert("There was an error adding the asset.");
                }
            });
        }
        return false;
    });

1 个答案:

答案 0 :(得分:1)

这是一个只有你的钩子的小包装:https://gist.github.com/remi/957732

您需要elementValidationSuccess挂钩。