如何使用Javascript显示asp.net页面的验证摘要

时间:2012-09-12 05:31:25

标签: c# javascript asp.net

我有一个asp.net表单 在其中我有许多需要的领域 我想在表格末尾显示所有字段的验证摘要 我已经检查了输入控件的有效值 现在我只想要摘要。

这是我的有效数据输入代码

<script language="javascript" type="text/javascript">
        function userCheck(uName) {
            var uName = document.getElementById(uName);
            var letters = /^[A-Za-z0-9]+$/;
            if (uName.value.match(letters) && uName.value.length != 0) {
                uName.style.border = "2px solid #008A2E";
                return true;
            }
            else {
                uName.value = uName.value.replace(/[\W]/g, '');
                uName.style.border = "2px solid #ff0000";
                uName.focus();
                return false;
            }
        }
</script>

这只是用户名检查的一个功能 我还有很多要处理的问题 是否有任何方法可以在按下提交按钮时显示最后一个字段的摘要?
以下解决方案无效。

 function ddlcheck(ddlclg) {
            var clg = document.getElementById(ddlclg.id);
            var clgname = document.getElementById('<%= LblCollegeName.ClientID %>');
            clgname.style.display = "block";
            clgname.innerHTML = "Selected College : " + clg.options[clg.selectedIndex].value;
            clg.style.border = "1px solid #008A2E";
            if (clg.options[clg.selectedIndex].value == "Select") {
                clgname.style.display = "none";
                clg.style.border = "1px solid #ff0000";
                validationhtml = validationhtml + "<b>*</b> College" + "</br>";
            }
        }

以上代码用于下拉列表。

 function select() {
            var count = 0;
            var chkSelectAll = document.getElementById('<%= ChkSelectAll.ClientID %>');
            var chkList = document.getElementById('<%= chk.ClientID %>').getElementsByTagName("input");
            for (var i = 0; i < chkList.length; i++) {
                if (chkList[i].checked == true) {
                    count++;
                }
            }
            if (count == chkList.length)
                chkSelectAll.checked = true;
            else {
                chkSelectAll.checked = false;
            }
        }

上面的代码用于选中的复选框。

1 个答案:

答案 0 :(得分:1)

在所需位置创建div(错误报告)验证摘要根据需要为其提供样式

之后

<script language="javascript" type="text/javascript">
    var validationhtml="";
    function userCheck(uName) {
        var uName = document.getElementById(uName);
        var letters = /^[A-Za-z0-9]+$/;
        if (uName.value.match(letters) && uName.value.length != 0) {
            uName.style.border = "2px solid #008A2E";
            return true;
        } else {
            uName.value = uName.value.replace(/[\W]/g, '');
            uName.style.border = "2px solid #ff0000";
            uName.focus();
            validationhtml=validationhtml +"uname is not correct" ;
            return false;
        }
    }

    function validationsummary() {

        // if using jquery
        $(".errorreport").html(validationhtml); 

        //for javascript
        document.getelementbyid("errorreport").innerHTML = validationhtml; 

        if(validationhtml == "") {
            return true;
        } else {
            return false;
        }
    }
</script>

并在提交按钮上单击

调用validationsummary()