[英]RequiredField Validator not firing
我試圖觸發一個ASP.NET必需的字段驗證器,如下所示。 我不希望觸發JavaScript函數,除非並且直到所需的字段驗證器返回true為止。 就我而言,我點擊按鈕時不會觸發任何操作。
ASP.NET代碼
<div class="login_txt">
Email ID<span class="asterisk">*</span>:
</div>
<asp:TextBox ID="txtEmailId_ExistingUser" Style="width: 169px;" runat="server" ValidationGroup="login"></asp:TextBox>
<div>
<asp:RequiredFieldValidator ID="RFVtxtEmailId_ExistingUser" Font-Size="Smaller" ControlToValidate="txtEmailId_ExistingUser" Display="Dynamic" ForeColor="Red" runat="server" ErrorMessage="Please enter Email-ID"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RevtxtEmailId_ExistingUser" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Font-Size="Smaller" ControlToValidate="txtEmailId_ExistingUser" Display="Dynamic" ForeColor="Red" runat="server" ErrorMessage="Email-ID not in correct Format"></asp:RegularExpressionValidator>
</div>
<div id="f2" class="text" style="margin-bottom: 0px">
<div class="login_txt">
Password<span class="asterisk">*</span> :
</div>
<asp:TextBox ID="txtPassword" runat="server" ValidationGroup="login" TextMode="Password"></asp:TextBox>
<div>
<asp:RequiredFieldValidator ID="RFVtxtPassword" Font-Size="Smaller" ControlToValidate="txtPassword" Display="Dynamic" ForeColor="Red" runat="server" ErrorMessage="Please Enter Password"></asp:RequiredFieldValidator>
</div>
</div>
<div class="h5"></div>
<div id="f3" style="padding-left: 115px; padding-top: 10px">
<asp:ImageButton ID="imgbtn_login" runat="server" ValidationGroup="login" CssClass="login_btn" ImageUrl="images/Reg-login.png" OnClientClick="return ValidateLogin();" />
</div>
的JavaScript
<script type="text/javascript" language="javascript">
function ValidateLogin(){
if (Page.IsValid) {
alert('valid');
}
else {
alert('Invalid');
}
}
</script>
您無需腳本即可處理:
CausesValidation =“ true”和ValidationGroup =“ someGroupName”
到您的<asp:ImageButton/>
以及ValidationGroup =“ FormValidation”`到您的驗證器:
根據您的HTML,我可以看到您沒有提到兩件事。
您沒有將ValidationGroup="Login"
到您的Validation控件中
您尚未向按鈕添加CausesValidation="true"
屬性
有關完整參考,請查看以下內容:-
<div class="login_txt">
Email ID<span class="asterisk">*</span>:</div>
<asp:TextBox ID="txtEmailId_ExistingUser" Style="width: 169px;" runat="server" ValidationGroup="login"></asp:TextBox>
<div>
<asp:RequiredFieldValidator ID="RFVtxtEmailId_ExistingUser" ValidationGroup="login"
Font-Size="Smaller" ControlToValidate="txtEmailId_ExistingUser" Display="Dynamic"
ForeColor="Red" runat="server" ErrorMessage="Please enter Email-ID"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RevtxtEmailId_ExistingUser" ValidationGroup="login"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Font-Size="Smaller"
ControlToValidate="txtEmailId_ExistingUser" Display="Dynamic" ForeColor="Red"
runat="server" ErrorMessage="Email-ID not in correct Format"></asp:RegularExpressionValidator>
</div>
</div>
<div id="f2" class="text" style="margin-bottom: 0px">
<div class="login_txt">
Password<span class="asterisk">*</span> :
</div>
<asp:TextBox ID="txtPassword" runat="server" ValidationGroup="login" TextMode="Password"></asp:TextBox>
<div>
<asp:RequiredFieldValidator ID="RFVtxtPassword" ValidationGroup="login" Font-Size="Smaller"
ControlToValidate="txtPassword" Display="Dynamic" ForeColor="Red" runat="server"
ErrorMessage="Please Enter Password"></asp:RequiredFieldValidator>
</div>
</div>
<div class="h5">
</div>
<div id="f3" style="padding-left: 115px; padding-top: 10px">
<asp:ImageButton ID="imgbtn_login" CausesValidation="true" runat="server" ValidationGroup="login"
CssClass="login_btn" ImageUrl="images/Reg-login.png" OnClientClick="return ValidateLogin();" />
</div>
希望對您有幫助
看看下面的截圖:
在每個ASP驗證程序中提及ValidationGroup
,如下所示:
<div class="login_txt">Email ID<span class="asterisk">*</span>:</div>
<asp:TextBox ID="txtEmailId_ExistingUser" Style="width: 169px;" runat="server" ValidationGroup="login"></asp:TextBox>
<div>
<asp:RequiredFieldValidator ID="RFVtxtEmailId_ExistingUser" Font-Size="Smaller" ControlToValidate="txtEmailId_ExistingUser" Display="Dynamic" ForeColor="Red" runat="server" ErrorMessage="Please enter Email-ID" ValidationGroup="login"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RevtxtEmailId_ExistingUser" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
Font-Size="Smaller" ControlToValidate="txtEmailId_ExistingUser" Display="Dynamic" ForeColor="Red" runat="server"
ErrorMessage="Email-ID not in correct Format" ValidationGroup="login"></asp:RegularExpressionValidator></div>
這將起作用。 如果驗證失敗; 那么只會調用JS
函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.