+ -
当前位置:首页 → 问答吧 → multiple select的验证问题

multiple select的验证问题

时间:2009-08-19

来源:互联网

公司系统中需要对用户输入进行验证,验证代码是自己写的,代码如下,现在不清楚对于multiple select的代码怎么写,那位高人帮忙看一下,谢谢了!!
    $("form").submit(function()
    {
        var is_valid = true;

        $(":input").each(function(i)
        {
            if(($(this).attr("required") == "true") && ($.trim($(this).val()) == ""))
            {
                is_valid = false;

                alert('"' + $(this).attr("name") + '" can not be empty !');
                $(this).focus();
                $(this).select();
                return false;
            }
            else if(($(this).attr("required") == "true") && ($(this).attr("type") == "checkbox"))
            {
                var nlist = {};

                $(":checkbox").each(function(i, v)
                {
                    var name = $(v).attr("name");

                    if (!nlist[name])
                    {
                        nlist[name] = 0;
                    }
                    nlist[name]++;
                });

                $.each(nlist, function(name, count)
                {
                    if ($(':checkbox[name="' + name + '"]:checked').length == 0)
                    {
                        is_valid = false;

                        alert('You must select at least one item for "' + name.substr(0, name.length - 2) + '" !');
                        $(this).focus();
                        $(this).select();
                        return false;
                    }
                });

                if(!is_valid) return false;
            }
            else if(($(this).attr("required") == "true") && ($(this).attr("type") == "radio"))
            {
                var nlist = {};

                $(":radio").each(function(i, v)
                {
                    var name = $(v).attr("name");

                    if (!nlist[name])
                    {
                        nlist[name] = 0;
                    }
                    nlist[name]++;
                });

                $.each(nlist, function(name, count)
                {
                    if ($(':radio[name="' + name + '"]:checked').length == 0)
                    {
                        is_valid = false;

                        alert('You must select one item for "' + name + '" !');
                        $(this).focus();
                        $(this).select();
                        return false;
                    }
                });

                if(!is_valid) return false;
            }
            else if(($(this).attr("required") == "false") && ($(this).val() == ""))
            {
                return true;
            }
        });

        if(!is_valid)
            return false;

        $("#button").attr("disabled", "true");
    });

作者: daemon   发布时间: 2009-08-19