jquery验证插件远程方法

时间:2013-10-24 09:25:31

标签: jquery jquery-validate

我正在尝试使用jquery表单验证插件验证字段"organization.mailDomain"。我的验证规则是

rules : {
        "organization.name" : {
            required : true
        },
        "organization.mailDomain" : {
            required : true,
            remote : {
                url : "/domain/check",
                type : "post",
                contentType : "application/json",
                data : {mailDomain : $("#mailDomain").val()}
            }
        }

我想要的是以mailDomain=gmail.com发送数据,但我当前的代码是以organization.mailDomain=abc.com&mailDomain=gmail.com发送数据。 我知道如果我将字段名称从(organization.mailDomain)更改为(mailDomain)它会起作用,但我需要字段名称。

更新:默认值为“gmail.com”,但当我将值更改为“abc.com”时,帖子数据为organization.mailDomain=abc.com&mailDomain=gmail.com

更新:我在服务器端遇到以下错误

Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('o' (code 111)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')

任何人都可以帮助我?????

1 个答案:

答案 0 :(得分:1)

为了将动态数据传递给远程函数,您可以传递一个函数作为数据值,这将返回所需的值......只要调用验证器,就会对此函数进行评估

remote: {
    url: "/domain/check",
    type: "post",
    contentType: "application/json",
    data: {
        mailDomain: function () {
            return $("#mailDomain").val()
        }
    }
}