Sonntag, April 5, 2020

RegularExpressionValidator für textbox innerhalb GridView nicht funktioniert

Habe ich GridView:

<asp:GridView ID="MyGridView" runat="server" ShowFooter="true"
                                AutoGenerateColumns="False" Visible="True">
<Columns>
<asp:BoundField DataField="id" ItemStyle-HorizontalAlign="center"/>
<asp:BoundField DataField="fullName"  />
<asp:TemplateField HeaderText="situation>">
<ItemTemplate>
  <asp:DropDownList ID="dl_situation" runat="server">
   </asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField>
 <ItemTemplate>
         <asp:TextBox ID="tbNr" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>  
<asp:TemplateField HeaderText="Data">
<ItemTemplate>
 <asp:TextBox ID="tbDate" runat="server"></asp:TextBox>
 </asp:RequiredFieldValidator>
 </ItemTemplate>
</asp:TemplateField>     
</Columns>
</asp:GridView>

Es funktionieren, aber wenn ich hinzufügen RegularrExpressionValidator für textbox mit der id=“tbDate“ mygrid funktioniert nicht
Dieser reguläre Ausdruck muss akzeptieren datetime im format „dd.MM.JJJJ“

 <asp:GridView ID="MyGridView" runat="server" ShowFooter="true"
                                AutoGenerateColumns="False" Visible="True">
<Columns>
<asp:BoundField DataField="id" ItemStyle-HorizontalAlign="center"/>
<asp:BoundField DataField="fullName"  />
<asp:TemplateField HeaderText="situation>">
<ItemTemplate>
  <asp:DropDownList ID="dl_situation" runat="server">
   </asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField>
 <ItemTemplate>
         <asp:TextBox ID="tbNr" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>  
<asp:TemplateField HeaderText="Data">
<ItemTemplate>
 <asp:TextBox ID="tbDate" runat="server"></asp:TextBox>
 <asp:RegularExpressionValidator ID="RegularCert" runat="server" 
      ControlToValidate="tbDate" ErrorMessage="Incorect Data" 
 ValidationExpression=
"(0[1-9]|[12][0-9]|3[01])[-.](0[1-9]|1[012])[-.](19|20)[0-9]{2}" 
      Display="Dynamic"></asp:RegularExpressionValidator>
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
      ErrorMessage="*" ControlToValidate="tbDate">
   </asp:RequiredFieldValidator>
 </ItemTemplate>
</asp:TemplateField>     
</Columns>
</asp:GridView>
InformationsquelleAutor Alex | 2012-08-17

4 Kommentare

  1. 2

    Ich denke, Sie tippte „tbData“ statt „tbDate“ in die ControlToValidate-Eigenschaft

    <asp:RegularExpressionValidator ID="RegularCert" runat="server" 
      ControlToValidate="tbDate" ErrorMessage="Incorect Data"   ValidationExpression= "(0[1-9]|[12][0-9]|3[01])[-.](0[1-9]|1[012])[-.](19|20)[0-9]{2}" 
      Display="Dynamic"></asp:RegularExpressionValidator>
    • BTW, in den code, den Sie geschrieben die regex-validator befindet sich nicht in der gridview template, das ist richtig. Wenn Ihr außerhalb des gridview-der validator nicht in der Lage, um zu sehen, das Textfeld.
    • es ist in das raster, aber ich zeigte, als ich den code hinzufügen, der nicht funktioniert
  2. 2

    Änderte ich ClientIDMode zu Predictable für TextBox, RegularExpressionValidator und RequiredFieldValidator und begann zu arbeiten

  3. 1

    ändern ControlToValidate="tbData" zu ControlToValidate="tbDate" für <asp:RegularExpressionValidator

  4. 0

    Haben Sie versucht, die Platzierung der <asp:RegularExpressionValidator ...> im inneren des
    <ItemTemplate>

    <asp:TextBox ID="tbDate" runat="server"></asp:TextBox>

    </ItemTemplate>
    auch müssen Sie auf einige text anzeigen zu lassen, wenn es nicht gelingt, die regex Validierung

    eigentlich das, was Hallie sagte, ist mehr als wahrscheinlich, die Antwort ha

    • Ich habe bereits platziert es in <ItemTemplate – > und </ItemTemplate – >
    • Ich ErrorMessage=“eine falsche Daten“

Kostenlose Online-Tests