ASP验证组不起作用(ASP Validation Group Not Working)

编程入门 行业动态 更新时间:2024-10-18 10:29:38
ASP验证组不起作用(ASP Validation Group Not Working)

有几个页面显示相同的代码,只是不同的字段名称。

我正在努力理解的是,为什么验证不会在按钮单击上被调用,而按钮单击被设置为导致验证,所有字段,必需字段验证器和正则表达式验证器都具有相同的组。

更新我记得以前这个工作(一个被删除然后被拾取的项目),所以我能想到的唯一的事情是web.config或c#后端停止它。 我不会想到页面的后端是这样做的,因为按钮会导致点击验证。

还有什么可以阻止这个?

码:

<%@ Page Title="" Language="C#" MasterPageFile="~/DirectDebit/MasterDDSite.Master" AutoEventWireup="true" CodeBehind="DDI_2.aspx.cs" Inherits="CustomerServicePortal.DDI_Forms.DDI_2" %> <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <script type="text/javascript"> function CheckNumeric(e) { if (window.event) // IE { if ((e.keyCode < 48 || e.keyCode > 57) & e.keyCode != 8) { event.returnValue = false; return false; } } else { // Fire Fox if ((e.which < 48 || e.which > 57) & e.which != 8) { e.preventDefault(); return false; } } } </script> <style type="text/css"> .style1 { height: 28px; } table { border-spacing: 2px; border-collapse: separate; } .valError { color: red; border: 2px solid red; margin: 5px 0px; padding: 15px; } .valError ul { color: red; } .valError li { color: red; } .validation_summary { color: red !important; } </style> <div class="jumboservice"> <h2>Company Details</h2> <div id="cmpnyDetails"> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Title:</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="title" runat="server" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="title" ValidationGroup="vg1" ErrorMessage="Title is a required field." Display="None"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="title" ID="Rev3" ValidationExpression="^[\s\S]{2,5}$" runat="server" ErrorMessage="Title requires between 2 and 5 characters."></asp:RegularExpressionValidator> </div> </div> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Forename(s):</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="forename" runat="server" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="forename" ID="RegularExpressionValidator1" ValidationExpression="^[\s\S]{2,25}$" runat="server" ErrorMessage="Forename requires between 2 and 25 characters."></asp:RegularExpressionValidator> <asp:RequiredFieldValidator ID="rfv2" runat="server" ControlToValidate="forename" ValidationGroup="vg1" ErrorMessage="Forename is a required field." Display="None"></asp:RequiredFieldValidator> </div> </div> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Surname:</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="surname" runat="server" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RequiredFieldValidator ID="rfv3" runat="server" ControlToValidate="surname" ValidationGroup="vg1" ErrorMessage="Surname is a required field." Display="None"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="surname" ID="RegularExpressionValidator2" ValidationExpression="^[\s\S]{3,45}$" runat="server" ErrorMessage="Surname requires between 3 and 45 characters."></asp:RegularExpressionValidator> </div> </div> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Telephone:</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="CompanyTele" runat="server" onkeypress="CheckNumeric(event);" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="CompanyTele" ID="RegularExpressionValidator10" ValidationExpression="^[0-9]{10,20}$" runat="server" ErrorMessage="Telephone requires between 10 and 20 numbers."></asp:RegularExpressionValidator> <asp:RequiredFieldValidator ID="rfv9" runat="server" ControlToValidate="CompanyTele" ValidationGroup="vg1" ErrorMessage="Telephone is a required field." Display="None"></asp:RequiredFieldValidator> </div> </div> </div> <p><strong>*</strong> - Fields marked with an asterisk are mandatory.</p> <asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="false" ShowSummary="true" ValidationGroup="vg1" ForeColor="Red" DisplayMode="BulletList" CssClass="valError" HeaderText="<span><strong>The below requires attention:</strong></span>" /> <div class="ui-grid-d"> <div class="ui-block-a"> <div data-role="main" class="ui-content"> <div data-role="controlgroup" data-type="horizontal"> <asp:Button ID="Submit" CausesValidation="true" ValidationGroup="vg1" runat="server" CssClass="ui-btn ui-corner-all" Text="continue" OnClick="Submit_Click" /> </div> </div> </div> </div> </div> </asp:Content>

There are several pages which show the same code, just different field names.

What I'm struggling to understand is why the validation is not getting called on button click which is set to cause validation, all fields, required field validators and regular expression validators all have the same group.

Update I remember this working (a project that got dropped and then picked up) previously, so the only things I can think of is either the web.config or the c# back end stopping it. I would not have thought the back end of the page is doing this as the button causes validation on click.

What else could be stopping this?

Code:

<%@ Page Title="" Language="C#" MasterPageFile="~/DirectDebit/MasterDDSite.Master" AutoEventWireup="true" CodeBehind="DDI_2.aspx.cs" Inherits="CustomerServicePortal.DDI_Forms.DDI_2" %> <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <script type="text/javascript"> function CheckNumeric(e) { if (window.event) // IE { if ((e.keyCode < 48 || e.keyCode > 57) & e.keyCode != 8) { event.returnValue = false; return false; } } else { // Fire Fox if ((e.which < 48 || e.which > 57) & e.which != 8) { e.preventDefault(); return false; } } } </script> <style type="text/css"> .style1 { height: 28px; } table { border-spacing: 2px; border-collapse: separate; } .valError { color: red; border: 2px solid red; margin: 5px 0px; padding: 15px; } .valError ul { color: red; } .valError li { color: red; } .validation_summary { color: red !important; } </style> <div class="jumboservice"> <h2>Company Details</h2> <div id="cmpnyDetails"> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Title:</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="title" runat="server" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="title" ValidationGroup="vg1" ErrorMessage="Title is a required field." Display="None"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="title" ID="Rev3" ValidationExpression="^[\s\S]{2,5}$" runat="server" ErrorMessage="Title requires between 2 and 5 characters."></asp:RegularExpressionValidator> </div> </div> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Forename(s):</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="forename" runat="server" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="forename" ID="RegularExpressionValidator1" ValidationExpression="^[\s\S]{2,25}$" runat="server" ErrorMessage="Forename requires between 2 and 25 characters."></asp:RegularExpressionValidator> <asp:RequiredFieldValidator ID="rfv2" runat="server" ControlToValidate="forename" ValidationGroup="vg1" ErrorMessage="Forename is a required field." Display="None"></asp:RequiredFieldValidator> </div> </div> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Surname:</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="surname" runat="server" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RequiredFieldValidator ID="rfv3" runat="server" ControlToValidate="surname" ValidationGroup="vg1" ErrorMessage="Surname is a required field." Display="None"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="surname" ID="RegularExpressionValidator2" ValidationExpression="^[\s\S]{3,45}$" runat="server" ErrorMessage="Surname requires between 3 and 45 characters."></asp:RegularExpressionValidator> </div> </div> <div class="ui-grid-a"> <div class="ui-block-a"> <h4>Telephone:</h4> </div> <div class="ui-block-b"> <span> <asp:TextBox ID="CompanyTele" runat="server" onkeypress="CheckNumeric(event);" ValidationGroup="vg1"></asp:TextBox> *</span> <asp:RegularExpressionValidator Display="None" ValidationGroup="vg1" ControlToValidate="CompanyTele" ID="RegularExpressionValidator10" ValidationExpression="^[0-9]{10,20}$" runat="server" ErrorMessage="Telephone requires between 10 and 20 numbers."></asp:RegularExpressionValidator> <asp:RequiredFieldValidator ID="rfv9" runat="server" ControlToValidate="CompanyTele" ValidationGroup="vg1" ErrorMessage="Telephone is a required field." Display="None"></asp:RequiredFieldValidator> </div> </div> </div> <p><strong>*</strong> - Fields marked with an asterisk are mandatory.</p> <asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="false" ShowSummary="true" ValidationGroup="vg1" ForeColor="Red" DisplayMode="BulletList" CssClass="valError" HeaderText="<span><strong>The below requires attention:</strong></span>" /> <div class="ui-grid-d"> <div class="ui-block-a"> <div data-role="main" class="ui-content"> <div data-role="controlgroup" data-type="horizontal"> <asp:Button ID="Submit" CausesValidation="true" ValidationGroup="vg1" runat="server" CssClass="ui-btn ui-corner-all" Text="continue" OnClick="Submit_Click" /> </div> </div> </div> </div> </div> </asp:Content>

最满意答案

从文本框字段中删除“验证组”。 您应该只在验证字段中添加“验证组”,引用您要验证的控件。

Remove the "validation group" from the text-box fields. You should only add the "validation group" in the validation field, referencing the control you wish to validate.

更多推荐

server,<asp,runat,电脑培训,计算机培训,IT培训"/> <meta name="descript

本文发布于:2023-07-26 00:23:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1268387.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不起作用   ASP   Validation   Working   Group

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!