【问题标题】:jQuery Validation Plugin with metadata on checkboxes?带有复选框元数据的jQuery验证插件?
【发布时间】:2012-03-07 10:33:43
【问题描述】:

我正忙于验证插件,但我发现它在我的复选框和无线电输入上不起作用。那么有人可以帮我解决这个问题吗? (我希望它可以像输入字段一样使用元数据完成)

这是我的 JS:

$(".valid").validate({
    meta: "validate",
    errorPlacement: function(error, element) {
        error.insertAfter(element);
    }
});

还有 HTML:

<form action="" class="valid">
    <div class="row">
        <label>Name</label>
        <div class="right"><input type="text" value="" name="name" class="{validate:{required:true, messages:{required:'Please enter your name'}}}" /></div>
    </div>
    <div class="row">
        <label>Checkboxes</label>
        <div class="right">
            <input type="checkbox" name="family" value="" id="family_one" checked="checked" class="required">
            <label for="family_one">Check on</label>

            <input type="checkbox" name="family" value="" id="family_two" class="required">
            <label for="family_two">Check off</label>
        </div>
    </div>
    <div class="row">
        <label></label>
        <div class="right">
            <button type="submit"><span>Click me</span></button>
        </div>
    </div>
</form>

表单检查 HTML 复选框:

<div class="right">
    <div class="custom-checkbox"><input type="checkbox" name="family" value="" id="third-check" class="require-one error"><label for="third-check">Check off</label></div>
    <div class="custom-checkbox"><input type="checkbox" name="family" value="" id="fouth-check" class="require-one"><label for="fouth-check">Check off</label></div>
    <div class="custom-checkbox"><input type="checkbox" name="family" value="" id="five-check" class="require-one"><label for="five-check" class="">Check off</label></div>
    <div class="custom-checkbox"><input type="checkbox" name="family" value="" id="six-check" class="require-one">
    <label for="checks" generated="true" class="error">Please check at least one box.</label>
    <label for="six-check">Check off</label></div>
</div>

【问题讨论】:

    标签: jquery validation checkbox


    【解决方案1】:

    如果您使用的是最新版本的 jQuery validate,您只需将“必需”类添加到您的元素标签。

    <input type="text" class="required" />
    

    <input type="radio" class="required" />
    

    这适用于大多数情况,尤其是在您不需要回调函数的情况下。

    祝你好运!

    编辑:

    Simpy 使用以下方法调用验证函数:

    $('#idOfForm').validate();
    

    只要在表单上放一个ID,就可以直接调用函数了。

    干杯!

    编辑 2:

    对于复选框,请尝试:

    $('#idOfForm').submit(function(e) {
        if($('#family_one').attr('checked') == false) {
            e.preventDefault();
            alert("Please check family one"); //Execute your message here
        });
    });
    

    【讨论】:

    • 您好,但是您如何显示消息呢?因为当我只添加类时它就不起作用了。
    • 还要确保您使用的是最新版本 bassistance.de/jquery-plugins/jquery-plugin-validation
    • 嗨,我使用的是最新版本。但是,如果您在我的 HTML 中看到我正在使用所需的类,但是当我单击按钮时,我只会从输入字段而不是复选框中收到一条消息?那么我怎样才能让我看到一条消息呢?
    • 嗯嗯。但这不是像输入字段那样用元数据的东西可以做到的吗?
    • 这背后的原因是因为复选框本质上是一个布尔元素。这意味着它可以是真或假,只有两种可能的结果。要要求 jQuery 验证复选框还需要更多的工作。试试看stackoverflow.com/questions/2445010/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多