空文本框验证jQuery

时间:2014-03-26 14:06:26

标签: jquery forms validation jquery-mobile

我有3个文本字段,可以将数据添加到表中,但是,即使所有字段都为空,我也可以将数据提交到表中,这种形式的验证是否可以与普通jQuery一起使用,或者必须与一个插件?。

3 个答案:

答案 0 :(得分:0)

您可以明确地全部检查它们:

// at least one is empty
if ($('#myId_1').val() == '' || $('$myId_2').val() == '') {
    alert('Oops! Please fill them all!');
}
// all are empty
if ($('#myId_1').val() == '' && $('$myId_2').val() == '') {
    alert('Oops! Please fill at least one!');
}

或者,如果您希望将来支持可变数量的字段,可以使用以下内容:

var invalid = false;
$('#table tr input:text').each(function() {
    if ($(this).val() == '') {
        invalid = true;
        return false;
    }
});

if (invalid)
    alert('Fill all the fields please!');

Here's a working example.

答案 1 :(得分:0)

您可以使用jQuery执行此操作,而无需使用任何其他插件。 这个脚本可以解决问题。请注意,它会遍历您的所有文本字段。我还为用户添加了一个视觉确认(绿色边框==确定,红色边框=='不行')。

希望你能用它。

$('#yourSubmitButtonId').click(function(){
    var isValid = 1;
    $('input:text').each(function(){
        if($(this).val() == ''){
            $(this).css('border','1px solid red');
            isValid = 0;
            }
        else{
            $(this).css('border','1px solid green');
            }
        });

    if(isValid == 0){
        alert('Please enter content to all text fields');
        return false;
        }

    //if valid then do something
    });

答案 2 :(得分:0)

  

“如果任何一个盒子都是空的,我想要一个警报,不想要   函数'AddScore'被称为“

所以,我们走了。您只需要确定填充输入的数量是否小于输入总数。所以,稍微改变你的功能如下:

function AddScore() {
    var totalInputs = $('div[data-role="fieldcontain"] input:text').length;
    var nonEmptyInputs = $('div[data-role="fieldcontain"] input:text').filter(function(){return $.trim($(this).val()) !== ""}).length;
    if (nonEmptyInputs < totalInputs) {
        alert ("You've not filled all the boxes");
        return; //stop execution
    }
    //rest of the code
    var jqTableBody = $('#myTable tbody');
    ....
    ....