我想知道,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中提供控件?
答案 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>