jquery .validate() 变量错误消息

2024-01-11

我在此网站上使用多种语言,并希望以不同的语言显示错误。我想知道是否可以在自定义错误消息中使用变量。

这是 JavaScript 代码片段:

$('form').validate({
$.ajax({
    url: 'notification.php',
    dataType: 'json',
    success: function(data) {
        return notification = data;
    }
});
rules: {
    qty: {
        required:   true,
        digits:     true
    }
},
messages: {
    qty: {
        required:   notification['qty_error'],
        digits:     notification['qty_error2']
    }
},
invalidHandler: function () {
    alert(notification['error2']);
},
submitHandler: function(form) {
    $.ajax({
        url:    $('form').attr('action'),
        type:   'post',
        data: $('form').serialize(),
        success: function() {
            $.ajax({
                url: 'notification.php',
                dataType:'json',
                success: function(data) {
                    $('#notification .container').html('<div class="success" style="display: none;">'+ data.confirm1 + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                    $('#notification .success').fadeIn('slow');
                }
            });

        }
    });
}
});

如果不是,还有什么其他方法可以做到这一点。


你不能放置.ajax()代替.validate()就像你在这里所做的那样...

$('form').validate({
    $.ajax({ ... });  // <-- remove this
    ...
});

仅指定规则、选项和回调函数jQuery 验证插件文档 http://jqueryvalidation.org/validate可以进去.validate().

我看到你已经包含了相同的内容.ajax()里面的代码submitHandler回调函数。这是完全正确的,所以只需删除.ajax()如上所述。

$('form').validate({
    // rules, options & callback functions
    ...
    submitHandler: function(form) {
        $.ajax({ ... });  // <-- ajax always belongs here
        return false;
    }
});

至于你原来的问题,yes,您可以使用变量来代替消息。

$(document).ready(function() {

    var message_1 = "my custom message 1";

    $('#myform').validate({
        rules: {
            field1: {
                required: true
            }
        },
        messages: {
            field1: {
                required: message_1
            }
        }
    });

});

DEMO: http://jsfiddle.net/PWdke/ http://jsfiddle.net/PWdke/

要动态更改消息(插件初始化后)需要the .rules('add') method http://jqueryvalidation.org/rules.

$(document).ready(function() {

    var message_1 = "my custom message 1",
        message_3 = "my custom message 3";

    $('#myform').validate({
        rules: {
            field1: {
                required: true
            }
        },
        messages: {
            field1: {
                required: message_1
            }
        }
    });

    // programatically over-ride initialized rules/messages below

    $('input[name="field1"]').rules('add', {
        required: true,
        messages: {
            required: message_3
        }
    });

});

DEMO: http://jsfiddle.net/PWdke/1/ http://jsfiddle.net/PWdke/1/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery .validate() 变量错误消息 的相关文章

随机推荐