【问题标题】:jQuery validation plugin submits even if validation errors occur即使发生验证错误,jQuery 验证插件也会提交
【发布时间】:2015-12-15 17:40:46
【问题描述】:

我正在尝试使用 jQuery 验证引导表单。

  var formSubmit =  $("#dl-mg-form-publish").validate({
        rules: {
            'dl-mg-input-youtube': {
                required: true,
                url:true,
            },
            'dl-mg-input-title': {
                required: true,
                minlength: 6   });

我正在尝试验证这一点:

 var videoInformation = {
        youtubeID: $('#dl-mg-input-youtube').val(),
        title: $('#dl-mg-input-title').val(), }

这是我的html:

  <form class="form-horizontal dl-mg-form-horizontal" id="dl-mg-form-publish"  action="#">


    <div class="form-group">
        <label for="dl-mg-input-youtube" class="control-label col-xs-2">YouTube Video ID:</label>

        <div class="col-xs-6">
            <input type="url" class="form-control" id="dl-mg-input-youtube" name="dl-mg-input-youtube" placeholder="Youtube ID">

        </div>

    </div>

    <div class="form-group">
        <label for="dl-mg-input-title" class="control-label col-xs-2">Video Title:</label>

        <div class="col-xs-6">
            <input type="text" class="form-control" id="dl-mg-input-title" name="dl-mg-input-title" placeholder="Video Title">

        </div>
    </div>

我是编程新手,我不知道如何先验证然后提交。我尝试使用 .click 处理程序,但无论如何它都会提交带有错误的字段。请帮忙!

【问题讨论】:

    标签: javascript jquery forms validation submit


    【解决方案1】:

    在提交表单之前,您需要验证表单。您可以在 click 事件中执行此操作,例如:

    $("#target").click(function () {
    
        // Validate the form first
        if (!$("#dl-mg-form-publish").valid()) return false;
    
        // Your form is valid, so continue with you submit logic..
    });
    

    更多信息在这里:.valid()

    编辑:

    禁用按键自动验证

    将此选项用于validate() 方法:

    $("#dl-mg-form-publish").validate({
         onfocusout: false,
         onkeyup: false,
         // other options here
    })
    

    【讨论】:

    • 感谢它的工作!你知道如何禁用自动错误,例如,当我开始写作时,它会自动说“请输入至少 6 个字符”。在我输入的第一个字母之后。我希望仅在单击按钮时才显示它。有什么想法吗?
    • @Shirohige 是的,只需使用我在更新代码中提到的上述选项就可以了。希望能帮助到你! P.S. 请标记answer as accepted 以帮助其他用户。
    • 谢谢!你是最好的^^我可以选择你的答案作为最佳答案吗?对不起,我是新来的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多