0

我在使用 jquery 验证时遇到的问题是它不喜欢名称中的点表示法。我正在使用基于视图模型和字段名称自动创建名称的 Microsoft HTML 助手。因此,例如,MS Html 处理程序将从“AuditDoc”视图模型中具有变量“Title”的 html 文本框生成“AuditDoc.Title”。我的困境是 JQuery 验证不喜欢名称中间的那个点。因此,当我将“AuditDoc.Title”作为要验证的名称时,它给了我一个 javascript 错误。有什么办法吗?我会很感激帮助!

        $("#SaveCreateInProgress").click(function () {
        $("#AdvanceDirection").val("SAVE");
        $("#CreateInProgressMainForm").validate({
            rules: {
                AuditDoc.Title: "required",
                AuditDoc.ActivityId: "required"
            },
            messages: {
                AuditDoc.Title: "Please enter a Title (JQuery Validate)",
                AuditDoc.ActivityId: "Please select an Activity Id (JQuery Validate)"
            },
            submitHandler: function (form) {
                alert("Submitted!");
            }
        });
4

1 回答 1

1

试着把引号像

$("#SaveCreateInProgress").click(function () {
        $("#AdvanceDirection").val("SAVE");
        $("#CreateInProgressMainForm").validate({
            rules: {
                "AuditDoc.Title": "required",
                "AuditDoc.ActivityId": "required"
            },
            messages: {
                "AuditDoc.Title": "Please enter a Title (JQuery Validate)",
                "AuditDoc.ActivityId": "Please select an Activity Id (JQuery Validate)"
            },
            submitHandler: function (form) {
                alert("Submitted!");
            }
        });

PS 为什么不使用MVC 附带的不显眼的验证

编辑

这是演示http://jsfiddle.net/DWHjw/

于 2012-08-10T17:03:14.427 回答