验证表单中的 jQuery-UI 微调器

Validate a jQuery-UI Spinner within a form

本文关键字:jQuery-UI 表单 验证      更新时间:2023-09-26

我正在使用"jQuery验证插件"来验证表单字段。效果很好。

我在表单中添加了一个新字段。此字段使用 jQuery-UI 微调器,但我无法成功验证它。

这是微调器元素的 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()) {
    ...
}

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

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

您的name被定义为value...

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

因此,您必须在.validate()方法中使用value...

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

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

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