【问题标题】:all input field validation through single/minimum line on code with jQuery通过 jQuery 代码的单行/最少行验证所有输入字段
【发布时间】:2010-03-06 05:33:13
【问题描述】:

我有一个表单,其中有 30 个输入框和 10 个文本区域和 3 个选择框(更新)字段,并且都是必填字段。

我如何通过 jQuery /javascript 对它can't be blank/empty/NULL. 的所有输入字段一起应用验证

我不想每次都使用每个输入框的 ID 并为每个输入框和文本区域创建单独的验证。

如果任何输入字段为空白,则其边框变为红色,并且当用户要编写某些内容时,则变为正常(无边框,即删除该类)

更新

还有选择框..我如何一起验证它们?

【问题讨论】:

    标签: jquery forms validation


    【解决方案1】:

    类似这样的:

    $("#myForm").submit(function() {
    
        // if there are some empty inputs
        if($(":input[value]").length != $(":input").length)) {
    
            // filter out the empty ones, apply some CSS
            $(":input").filter(function() {
                return this.value.length == 0;
            }).addClass("blank");
    
            // do not submit
            return false;
        }
    });
    
    $(":input").blur(function() {
        if(this.value.length > 0) {
            $(this).removeClass("blank");
        }
    });
    

    【讨论】:

    • 工作正常,但有两个语法错误 1. 在 .length 函数之后删除额外的 ) 2.在 solid; 之后添加 ( 这应该是 css("border","1px red solid ";)
    【解决方案2】:
    1. 从每个文本中删除红色边框, textarea 和列表框字段。
    2. 过滤掉 至少包含 1 的元素 非空白字符 - \S+
    3. 添加红色 其余元素的边框

    javascript

    function validate() {
      return $("input:text,textarea,select").removeClass('blank').filter(function() {
        return !/\S+/.test($(this).val());
      }).addClass('blank').size() == 0;
    }
    
    $('#form').submit(validate);
    

    css

    .blank {
        border: 1px red solid;
    }
    

    【讨论】:

    • 它验证但页面继续操作页面,它不会在该页面停止,并且错误 css e 仅显示几秒钟
    • 在css中应该有border而不是blank
    • 它正在提交表单,因为我刚刚发布了一个 sn-p。 onsubmit 处理函数必须返回 false 或停止事件以阻止表单提交。感谢您指出 CSS 修复。
    • 现在它可以正常工作了,但它不适用于选择框。当用户要写东西时我想要的另一件事然后应该删除 css。
    • 我也遇到了选择框的问题。显然浏览器(或 jquery)会自动选择第一项。因此,我尝试将垃圾项作为第一个选项,其值为空白,因为它非常适合我们的 textfields 和 textareas 。 <option value="">Please Select...</option>
    猜你喜欢
    • 2021-04-13
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 2012-10-12
    • 2018-11-10
    相关资源
    最近更新 更多