asp.net的验证机制

时间:2011-08-26 14:31:10

标签: c# asp.net validation c#-4.0

我想知道,asp.net中验证机制的过程是什么? 当我不在文本框中输入任何内容时,会出现错误消息,但我想知道它的机制,哪个属性会触发它?

<form id="form1" runat="server">
Your name:<br />
<asp:TextBox runat="server" id="txtName" />
<asp:RequiredFieldValidator runat="server" id="reqName" controltovalidate="txtName" errormessage="Please enter your name!" />
<br /><br />
<asp:Button runat="server" id="btnSubmitForm" text="Ok" />

哪个机制在asp.net中提供控件?

2 个答案:

答案 0 :(得分:0)

您应该搜索有关RequiredFieldValidator控件的文档。

我确信控件正在检查链接控件的内容(由controltovalidate属性中的id指定)并在控件无法验证的情况下呈现错误。

您想知道其他哪些细节?

答案 1 :(得分:0)

使用必填字段验证程序时,会在页面中添加JavaScript方法。您可以通过查看页面源来查看验证器的工作方式:

<script type="text/javascript">

    function WebForm_OnSubmit() {
    if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
    return true;
    }
    //]]>

</script>

<script type="text/javascript">

    //<![CDATA[
    var Page_Validators =  new Array(document.getElementById("ctl00_ContentBody_reqBilledDate"), document.getElementById("ctl00_ContentBody_reqInvoiceNumber"), document.getElementById("ctl00_ContentBody_reqBillingMethod"));
    //]]>

</script>

<script type="text/javascript">

    var Page_ValidationActive = false;
    if (typeof(ValidatorOnLoad) == "function") {
        ValidatorOnLoad();
    }

    function ValidatorOnSubmit() {
        if (Page_ValidationActive) {
            return ValidatorCommonOnSubmit();
        }
        else {
            return true;
        }
    }

</script>