合并验证功能



嗨,试图整合这个检查 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");
        });
}

可能使用一个类(比如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");
            }
        });    
    });
}

最新更新