1

私は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>

正常に動作しますが、id = "tbDate"のテキストボックスにRegularrExpressionValidatorを追加するとmygridが機能しませんこの正規表現は、「dd.MM.yyyy」形式の日時を受け入れる必要があります

 <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>
4

4 に答える 4

2

ControlToValidateプロパティに「tbDate」ではなく「tbData」と入力したと思います

<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>
于 2012-08-17T10:03:20.220 に答える
2

に変更ClientIDModePredictableTextBoxRegularExpressionValidator働きRequiredFieldValidator始めました

于 2012-08-20T13:10:08.233 に答える
1

に変更ControlToValidate="tbData"_ControlToValidate="tbDate"<asp:RegularExpressionValidator

于 2012-08-17T10:06:27.360 に答える
0

<asp:RegularExpressionValidator ...>内側に 配置してみましたか?<ItemTemplate>
<asp:TextBox ID="tbDate" runat="server"></asp:TextBox>
</ItemTemplate> また、正規表現の検証に失敗した場合に表示するテキストを指定する必要があります

実際、ハリーが言ったことはおそらく答えのハです

于 2012-08-17T10:01:52.563 に答える