0

フォームからのデータを検証する関数があります:

var step1_validation = function(){
            var err = 0;
            if($('#one').val() == '0'){
               $('#one').parent().parent().find('.form-error').html("display error for one.");
                err++;
            }
            if($('#other').val() == '0'){
                $('#other').parent().parent().find('.form-error').html("display error for other.");
                err++;
            }
        if($('#eda').val() == ''){
                $('#eda').parent().parent().find('.form-error').html("display error for one eda.");
                err++;
            }

            if(err == 0){
                //do something
            }else{
                //do other stuff               
            }
        };

検証したい入力がいくつかあるので、入力が 0 または空の文字列であることを確認する関数を作成し、関数内で呼び出すにはどうすればよいですか?

if($('#id').val() == '0'){
   $('#id').parent().parent().find('.form-error').html("display message.");
   err++;
}

or 

if($('#id').val() == ''){
   $('#id').parent().parent().find('.form-error').html("display message.");
   err++;
}
4

1 に答える 1

1

このような?

var step1_validation = function () {
    var err = 0;
    err += validateInput('one', 'display error for one.');
    err += validateInput('other', 'display error for other.');
    err += validateInput('eda', 'display error for eda.');

    if (err == 0) {
        //do something
    } else {
        //do other stuff               
    }
};

function validateInput(id, errorMessage) {
    var obj = $('#' + id);
    if (obj.val() == '0' || obj.val() == ''){
       obj.parent().parent().find('.form-error').html(errorMessage);
       return 1;
    }
    return 0;
}
于 2013-03-07T06:47:59.860 に答える