整合验证功能

时间:2015-01-27 03:07:25

标签: jquery forms validation this

您正在尝试合并此验证功能,以检查3个年龄输入。目前它突出显示错误输入,并在年龄低于18时显示/隐藏错误消息。

如何在所有3个输入上运行该功能并停止重复自己?

//Adult age validation
validateAdultAge0: function() {
    $('button[type="submit"]').on('click', function() {
var inputVal = parseInt( $("input[name='adultAges[0]']").val());
if (inputVal < 18) {
    $("input[name='adultAges[0]']").css("border-color","red");
        });
},

validateAdultAge1: function() {
    $('button[type="submit"]').on('click', function() {
var inputVal = parseInt( $("input[name='adultAges[1]']").val());
if (inputVal < 18) {
    $("input[name='adultAges[1]']").css("border-color","red");
        });
},

validateAdultAge2: function() {
    $('button[type="submit"]').on('click', function() {
var inputVal = parseInt( $("input[name='adultAges[2]']").val());
if (inputVal < 18) {
    console.log ('fire');
    $("input[name='adultAges[2]']").css("border-color","red");
        });
}

我得到的最远的是:

validateAdultAges: function() {
    $('button[type="submit"]').on('click', function() {
var inputVal = parseInt( $("input[name^='adultAges']").val());
if (inputVal < 18) {
    console.log('fire');
    $(this).find("input").css("border-color","red");
        });
}

1 个答案:

答案 0 :(得分:0)

可能正在使用类(例如adultAges)作为输入:

validateAdultAges: function() {
    $('button[type="submit"]').on('click', function() {
        $("input.adultAges").each(function() {
            var $this = $(this),
                inputVal = parseInt( $this.val(), 10);
            if (inputVal < 18) {
                $this.css("border-color","red");
            }
        });    
    });
}