jQuery,没有让自定义验证消息工作

时间:2012-04-19 12:05:39

标签: jquery arrays validation jquery-validate messages

我在表单中有以下字段:

<input id="edit-submitted-tel" name="submitted[tel]" value="telefoonnummer (optioneel)" size="4" maxlength="15" class="form-text" type="text">

我正在使用jQuery Validate来检查表单,它一切正常,但我似乎无法将我的错误消息设置为每个字段自定义。由于字段名称,下面给出了一个错误,我不知道它应该是什么:

$("#form").validate({           
    messages: {
        submitted[tel] : "tel error custom msg"
    }
});

当它是一个数组时应该是什么?

3 个答案:

答案 0 :(得分:5)

使用两个引号

$("#form").validate({           
    messages: {
        "submitted[tel]" : "tel error custom msg"
    }
});

答案 1 :(得分:3)

我认为这只是quoting你的名字的问题。

来自文档:

  

如果您的表单包含使用非合法JavaScript标识符的字段的字段,那么您在使用规则选项时必须引用这些名称:

$("#myform").validate({
  rules: {
    // no quoting necessary
    name: "required",
    // quoting necessary!
    "user[email]": "email",
    // dots need quoting, too!
    "user.address.street": "required"
  }
});

所以在你的情况下,它应该只是一个问题:

$("#form").validate({           
    messages: {
        "submitted[tel]" : "tel error custom msg"
    }
});

答案 2 :(得分:0)

Resolvi assim

var $params = {debug:false, messages:{}};

var $c_nome = $("#c_nome").attr("name");
$params['messages'][$c_nome] = "O campo de nome é obrigatório";

var $c_email = $("#c_email").attr("name");
$params['messages'][$c_email] = "Por favor insira um e-mail válido";

var $c_assunto = $("#c_assunto").attr("name");
$params['messages'][$c_assunto] = "O campo de assunto é obrigatório";

var $c_msg = $("#c_msg").attr("name");
$params['messages'][$c_msg] = "O campo de mensagem é obrigatório";

$("#form-contato").validate($params);