此 JavaScript 出错,我找不到它

Error in this JavaScript and I can't find it

我在页面中有以下 Javascript 运行 块,它显示从我放置以下注释的行开始的错误:

<<<< 从这里开始,我收到一条错误消息“','预期”>>>>

    <script>
        $(document).ready(function () {
            $("#basData").validate({
                rules: {
                    <%=ContactEmail.UniqueID %>: {
                    required: true,
                        minlength: 16,
                        maxlength: 80,
                    },
                    <%=ContactPhone.UniqueID %>: {
                        required: true,
                        minlength: 9,
                        maxlength: 32,
                    },
                    <%=FirstName.UniqueID %>: {
                        required: true,
                        minlength: 3,
                        maxlength: 32,
                    },
                    <%=LastName.UniqueID %>: {
                        required: false,
                        minlength: 3,
                        maxlength: 32,
                    },
                    <%=City.UniqueID %>: {
                        required: true,
                        minlength: 3,
                        maxlength: 64,
                    },
                    <%=State.UniqueID %>: {
                        required: true,
                    },
                    <%=ZIPCode.UniqueID %>: {
                        required: true,
                        minlength: 5,
                        maxlength: 5
                    },
                    <%=ContactPhone.UniqueID %>: {
                        required: true,
                        minlength: 9,
                        maxlength: 32
                    }
                }, // <<<< starting here, I get an error that says "',' expected" >>>>  
                messages: {
                    <%=ContactEmail.UniqueID %>: {
                        required: "Please provide a email address",
                        minlength: "The email address you entered is too short",
                        maxlength: "The email address you entered is too long"
                    },
                    <%=ContactPhone.UniqueID %>: {
                        required: "Please provide a contact telephone",
                        minlength: "The contact telephone you entered is too short",
                        maxlength: "The contact telephone you entered is too long"
                    },
                    <%=FirstName.UniqueID %>: {
                        required: "Please enter your first name",
                        minlength: "Your name must have at least 3 characters",
                        maxlength: "Your name must be 32 characters or less"
                    },
                    <%=LastName.UniqueID %>: {
                        required: "Please enter your last name",
                        minlength: "Your name must have at least 3 characters",
                        maxlength: "Your name must be 32 characters or less"
                    },
                    <%=City.UniqueID %>: {
                        required: "Please enter your city",
                        minlength: "Your city must have at least 3 characters",
                        maxlength: "Your city must have 64 characters or less"
                    },
                    <%=State.UniqueID %>: {
                        required: "Please select your state"
                    },
                    <%=ZIPCode.UniqueID %>: {
                        required: "Please enter your ZIP code",
                        minlength: "Your ZIP code must contain 5 digits",
                        maxlength: "Your ZIP code must have 5 digits"
                    }
                }
            },
            errorClass: "em",
            onkeyup: false,
            onfocusout: false,
            invalidHandler: function (form, validator) {
                var errors = validator.numberOfInvalids();
                var msg = "";
                if (errors) {
                    if (validator.errorList.length > 0) {
                        for (x = 0; x < validator.errorList.length; x++) {
                            msg += validator.errorList[x].message + "<br />";
                        }
                    }
                    $("#summary").html(msg);
                    validator.focusInvalid();

                }
            },
            errorPlacement: function (error, element) {
                error.addClass("invalid-feedback");
            },
            highlight: function (element, errorClass, validClass) {
                $(element).addClass("is-invalid").remove("is-valid");
            },
            unhighlight: function (element, errorClass, validClass) {
                $(element).addClass("is-valid").remove("is-invalid");
            }
        });
        });
    </script>

我在这里错过了什么?我已经研究了很长时间了,找不到任何不存在的遗漏!

消息后的右大括号过多 <%=ZIPCode.UniqueID %>(请参阅下面代码中的注释)

$(document).ready(function() {
  $("#basData").validate({
      rules: {
        <%=ContactEmail.UniqueID %>: {
          required: true,
          minlength: 16,
          maxlength: 80,
        },
        <%=ContactPhone.UniqueID %>: {
          required: true,
          minlength: 9,
          maxlength: 32,
        },
        <%=FirstName.UniqueID %>: {
          required: true,
          minlength: 3,
          maxlength: 32,
        },
        <%=LastName.UniqueID %>: {
          required: false,
          minlength: 3,
          maxlength: 32,
        },
        <%=City.UniqueID %>: {
          required: true,
          minlength: 3,
          maxlength: 64,
        },
        <%=State.UniqueID %>: {
          required: true,
        },
        <%=ZIPCode.UniqueID %>: {
          required: true,
          minlength: 5,
          maxlength: 5
        },
        <%=ContactPhone.UniqueID %>: {
          required: true,
          minlength: 9,
          maxlength: 32
        }
      }, // <<<< starting here, I get an error that says "',' expected" >>>>  
      messages: {
        <%=ContactEmail.UniqueID %>: {
          required: "Please provide a email address",
          minlength: "The email address you entered is too short",
          maxlength: "The email address you entered is too long"
        },
        <%=ContactPhone.UniqueID %>: {
          required: "Please provide a contact telephone",
          minlength: "The contact telephone you entered is too short",
          maxlength: "The contact telephone you entered is too long"
        },
        <%=FirstName.UniqueID %>: {
          required: "Please enter your first name",
          minlength: "Your name must have at least 3 characters",
          maxlength: "Your name must be 32 characters or less"
        },
        <%=LastName.UniqueID %>: {
          required: "Please enter your last name",
          minlength: "Your name must have at least 3 characters",
          maxlength: "Your name must be 32 characters or less"
        },
        <%=City.UniqueID %>: {
          required: "Please enter your city",
          minlength: "Your city must have at least 3 characters",
          maxlength: "Your city must have 64 characters or less"
        },
        <%=State.UniqueID %>: {
          required: "Please select your state"
        },
        <%=ZIPCode.UniqueID %>: {
          required: "Please enter your ZIP code",
          minlength: "Your ZIP code must contain 5 digits",
          maxlength: "Your ZIP code must have 5 digits"
        }
      //} TOO MANY CLOSING BRACES
    },
    errorClass: "em",
    onkeyup: false,
    onfocusout: false,
    invalidHandler: function(form, validator) {
      var errors = validator.numberOfInvalids();
      var msg = "";
      if (errors) {
        if (validator.errorList.length > 0) {
          for (x = 0; x < validator.errorList.length; x++) {
            msg += validator.errorList[x].message + "<br />";
          }
        }
        $("#summary").html(msg);
        validator.focusInvalid();

      }
    },
    errorPlacement: function(error, element) {
      error.addClass("invalid-feedback");
    },
    highlight: function(element, errorClass, validClass) {
      $(element).addClass("is-invalid").remove("is-valid");
    },
    unhighlight: function(element, errorClass, validClass) {
      $(element).addClass("is-valid").remove("is-invalid");
    }
  });
});