Asp.net 验证器回发不需要的
我的网页中有多个验证器(比较、必需、自定义)。当我单击submit按钮时,页面将返回postsback。但是,我为所有字段指定了相同的验证组。怎么了Asp.net 验证器回发不需要的,asp.net,Asp.net,我的网页中有多个验证器(比较、必需、自定义)。当我单击submit按钮时,页面将返回postsback。但是,我为所有字段指定了相同的验证组。怎么了 <div class="innerUserName" style="margin-top: 0px;"> <asp:TextBox ID="txtUserName" runat="server" ClientIDMode="Static"
<div class="innerUserName" style="margin-top: 0px;">
<asp:TextBox ID="txtUserName" runat="server" ClientIDMode="Static"
MaxLength="20" Style="margin-left: 28px;" Width="230" CausesValidation="True"></asp:TextBox>
</div>
<asp:HiddenField ID="hdnField" runat="server" ClientIDMode="Static" />
<div id="divUserNameAvailability">
</div>
<asp:RequiredFieldValidator ID="reqval_UName" runat="server" ControlToValidate="txtUserName"
CssClass="validation" Display="Dynamic" ErrorMessage="Please Provide User Name"
SetFocusOnError="True" ValidationGroup="SignUp"></asp:RequiredFieldValidator>
<%--User Name Not Available--%>
<asp:CustomValidator ID="cusval_UName" runat="server" ErrorMessage="" ClientIDMode="Static"
ClientValidationFunction="ValidateUsername" ControlToValidate="txtUserName" CssClass="validation"
Display="Dynamic" SetFocusOnError="True" ValidationGroup="SignUp"></asp:CustomValidator>
<div class="innerPwd" style="margin-top: 0px;">
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"
Style="margin-left: 28px;" Width="230" CausesValidation="True"></asp:TextBox>
</div>
<span>
<asp:RequiredFieldValidator ID="reqval_Pwd" runat="server" ControlToValidate="txtPassword"
SetFocusOnError="true" CssClass="validation" Display="Dynamic" ErrorMessage="Please Provide Password"
ValidationGroup="SignUp" />
<asp:RegularExpressionValidator ID="regexPassword" runat="server" ControlToValidate="txtPassword"
SetFocusOnError="true" Display="Dynamic" ErrorMessage="Please Provide Valid Password"
ValidationExpression="^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z]{6,20}$" ValidationGroup="SignUp"
CssClass="validation"></asp:RegularExpressionValidator></span>
<div>
<asp:Button ID="btnSignUp" runat="server" Text="Create Account" Style="border: 0px;
background-color: #396fd1; font-weight: bold; height: 29px; font-size: 12px;
color: #fff3dd;" ValidationGroup="SignUp" />
如果不查看代码,很难猜测。如果验证程序是服务器端控件,它们将导致回发。我无法发布代码。它太大了,stackoverflow不允许我发布它。这些验证程序中的一个导致页面回发的正常行为是什么?你能告诉我们你在哪里声明了验证程序的html吗?您不需要发布所有代码。
function ValidateUsername(sender, args) {
var div = document.getElementById("divUserNameAvailability");
var img = document.getElementById("imgUserNameAvailability");
if (div.style.display == "none") {
CallMe("txtUserName");
}
if (div.style.display == "inline") {
var imgFileName = getName(img.src);
if (imgFileName == "wrong")
args.IsValid = false;
else
args.IsValid = true;
}
}