0

我正在使用“jQuery Validation Plugin”来验证表单字段。它工作得很好。

我在表单中添加了一个新字段。该字段使用 jQuery-UI Spinner,但我没有成功验证它。

这是 spinner 元素的 HTML 代码:

<form id="formAddCategory">
    <input id="spinTeamNumber" name="value" style="display: inline-block; margin: 10px; width: 3em;" size="3" maxlength="3">
</form>

这是微调器代码:

$("#spinTeamNumber").spinner({
    step : 1,
    min : 1,
    numberFormat : "n",
    alignment : 'vertical'
});

这是验证码:

$("#formAddCategory").validate({
    rules : {
        "spinTeamNumber" : {
            required : true,
        }
    },
    messages : {
        "spinTeamNumber" : {
            required : "* Required"
        }
    }
});

[...]

if ($("#formAddCategory").valid()) {
    ...
}

但它不起作用。我也尝试定义自定义验证方法,但没有成功。

4

1 回答 1

1

您只能在方法中使用输入元素的name而不是id.validate()

name的定义为value...

<input id="spinTeamNumber" name="value" ....

所以你必须value.validate()方法内使用......

$("#formAddCategory").validate({
    rules : {
        value : {  // <-- the input NAME
            required : true,
        }
    },
    messages : {
        value : {  // <-- the input NAME
            required : "* Required"
        }
    }
});

要创建微调器,jQuery UI 会在原始输入元素周围动态添加一个容器,因此您可能希望使用该errorPlacement选项让消息显示在外部。

演示:http: //jsfiddle.net/6u18p6ju/

于 2015-03-12T13:57:34.437 回答