javascript - JQuery 从验证中排除一个字段

标签 javascript jquery validation each

我编写此代码是为了验证结帐表单。但是有一个字段不需要必填。所有其他字段都是必需的。如何修改我的代码以排除此字段,并且仅在填写此字段且不为空时才添加类“有效”。

有人给我提示吗?

// Validate checkout fields
$( '#checkout-data input' ).each( function() {
    $( this ).change( function() {
        if( $( this ).val().length < 1 ) {
            $( this ).removeClass( 'valid' ).addClass( 'invalid' );
        } else {
            $( this ).removeClass( 'invalid' ).addClass( 'valid' );     
        }
    });
});

最佳答案

required 类添加到 required input fields 中,然后像这样更改代码,

$( '#checkout-data input.required' ).each( function() {
    $( this ).change( function() {
        if( this.value.length < 1 ) {
            $( this ).removeClass( 'valid' ).addClass( 'invalid' );
        } else {
            $( this ).removeClass( 'invalid' ).addClass( 'valid' );     
        }
    });
});

此外,也不需要 $.each() 之类的,

$('#checkout-data input.required').change( function() {
    if( this.value.length < 1 ) {
        $( this ).removeClass( 'valid' ).addClass( 'invalid' );
    } else {
        $( this ).removeClass( 'invalid' ).addClass( 'valid' );     
    }
});

Live Demo

关于javascript - JQuery 从验证中排除一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23357956/

相关文章:

javascript - 获取页面高度的未滚动区域

php - laravel 使用用户函数验证

JavaScript - 创建元素并设置属性

javascript - 什么是 NODE_ENV 以及如何在 Express 中使用它?

javascript document.innerHTML 设置整个文档的内容

Javascript 在 "-"之前和 "."之后添加换行符

jquery - Jssor Slider CSS 分离?

javascript - 即使我清除它后,SetInterval仍在运行

forms - HTML5 验证

validation - 如何在 Firebase 中运行服务器端代码?