WEB开发网
开发学院网页设计JavaScript MVC+Jquery开发B/S系统:③表单提交 阅读

MVC+Jquery开发B/S系统:③表单提交

 2009-09-14 00:00:00 来源:WEB开发网   
核心提示: 三:好了,Lightbox已经实现了,MVC+Jquery开发B/S系统:③表单提交(4),也能show出各种类型的信息了,下面还剩下表单验证,拿出来献丑了, 下面是我之前写的关于绑定的, 其实表单验证大有文章可做,我这也不能一一做到

三:好了,Lightbox已经实现了,也能show出各种类型的信息了。

下面还剩下表单验证。 其实表单验证大有文章可做。我这也不能一一做到。目前只做了些简单的验证。以后会实现比较复杂的错误提示效果。其实这都是 体力活,上面没要求我也懒的弄-。-

验证我采用的是给control一些自定义属性,然后再判断其值是否合法。

Code

//输入验证
$.fn.inputValidate = function() {
    $("input,select,textarea", this).each(function() {
        var isnull = $(this).attr("isnull");
        var regexValue = $(this).attr("regex");
        var defautValue = $(this).attr("dvalue");

        //            //①非空注册焦点事件
        //            if (isnull == "0") {
        //                $(this).blur(function() {
        //                    if (this.value == "" || this.value == defautValue)
        //                        $(this).addClass("focus").focus();
        //                    else
        //                        $(this).removeClass("focus");
        //                });
        //            }

        //②正则注册onchange事件
        if (regexValue != undefined) {
            var thisValue = this.value;
            //检查类型绑定不同事件
            if ($(this).attr("type") == "text") {
                $(this).bind("keyup", function() {
                    if ($(this).val() == "")
                        return;
                    var re = new RegExp(regexValue, "ig");
                    var newValue = this.value;
                    if (!re.test(newValue)) {
                        $(this).val(thisValue).focus();
                    }
                    else {
                        thisValue = newValue;
                        $(this).val(newValue);
                    }
                });
            }
        }

        function checkRegex(value, re) {

        }
        //③最小长度

        //④其他

    });
}

//提交验证
$.fn.submitValidate = function() {
    var result = true;
    $("input:visible,select:visible,textarea:visible", this).each(function() {
        result = true;
        var thisValue = "";
        if ($(this).attr("type") == "radio" || $(this).attr("type") == "checkbox") {
            thisValue = $("input[name='" + this.name + "']:checked").val();
        }
        else
            thisValue = $(this).val();
        //判断是否违法


        if ($(this).attr("isnull") == "0") {//① 是否必填 且不能为空或缺省值
            result = (thisValue != "" && thisValue != $(this).attr("dvalue"));
        }
        else if (thisValue != "") {//② 是否符合格式 属性为 regex 正则
            var reValue = $(this).attr("regex");
            if (reValue != undefined) {
                re = new RegExp(reValue, "ig");
                result = re.test(thisValue);
            }
        }

        //        //③ 是否符合最大长度
        //        var maxLength = $(this).attr("maxLen");
        //        if (maxLength != undefined && maxLength != "-1") {
        //            if (thisValue.length > parseInt(maxLength))
        //                result = false;
        //        }
        //        //④ 是否符合最小长度

        //返回false

        if (result == false) {
            $(this).addClass("focus").focus().blur(function() {
                if (this.value != "" && this.value != $(this).attr("dvalue")) {
                    $(this).removeClass("focus");
                }
            });
            //alert($(this).attr("name"));
            return false;
        }
    });
    return result;
}

这些都是比较简单的东西,拿出来献丑了。 下面是我之前写的关于绑定的,有兴趣的可以看看。

编缉推荐阅读以下文章

  • MVC+JQuery开发B/S系统:②表单绑定
  • MVC+Jquery开发B/S系统:①列表绑定

上一页  1 2 3 4 

Tags:MVC Jquery 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接