如何使用jquery验证插件验证名称中带点的输入字段?

时间:2013-11-26 14:33:51

标签: javascript jquery struts2 jquery-validate

我正在使用this jquery validation plugin

<s:textfield cssClass="form-control input-default" name="contest.title" id="title" placeholder="Enter Title"
                             />

验证不适用于此,但如果我将名称更改为title,则验证有效。

我尝试过搜索,但找不到验证名称中.字段的方法。

请帮忙

更新

脚本

<script type="text/javascript">
            jQuery(document).ready(function() {
                jQuery("#contestform").validate({
                    submitHandler: function(form) {
//                        return false;  // block the default submit action
                    },
                    rules: {
                        title: {
                            required: true
                        },
                        link: {
                            required: true
                        },
                        startdt: {
                            required: true
                        },
                        enddt: {
                            required: true
                        },
                        descr: {
                            required: true
                        },
                    },
                    messages: {
                        title: "Please enter a title",
                        link: "Please enter the sponser redirection link",
                        startdt: "Please select start date",
                        enddt: "Please select end date",
                        descr: "Please enter description"
                    }
                });
            });
        </script>

表格的一部分

<form action="" enctype="multipart/form-data" method="post" id="contestform">
            <s:hidden name="option" value="option"/>
            <s:hidden name="contest.idcontest"/>
            <div class="form-group">
                <label for="title">Title</label>
                <s:textfield cssClass="form-control input-default" name="contest.title" id="title" placeholder="Enter Title"
                             />
            </div>

1 个答案:

答案 0 :(得分:22)

您需要将字段名称放在qoutes中。来自plugin documentation

  

具有复杂名称的字段(括号,点)

     

当你有一个像user [name]这样的名字属性时,一定要把它放在   引号中的名称。 General Guidelines

中的更多详细信息

链接参考中的示例:

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