2012-08-17 32 views
1

我的GridView:的RegularExpressionValidator的文本框裏面的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> 

回答

2

我改變ClientIDModePredictableTextBoxRegularExpressionValidatorRequiredFieldValidator開始工作

0

你試過放置<asp:RegularExpressionValidator ...><ItemTemplate>
<asp:TextBox ID="tbDate" runat="server"></asp:TextBox> </ItemTemplate> 還需要指出一些文本顯示,如果它失敗的正則表達式驗證

實際上什麼海麗說的是很有可能的答案公頃以上

+0

我已經把它的內部<的ItemTemplate>和 Alex 2012-08-17 10:12:47

+0

I所示的ErrorMessage = 「Incorect數據」 – Alex 2012-08-17 10:45:12

2

我想你輸入「TBDATA」而不是「tbDate」在ControlToValidate屬性

<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> 
+0

我改變和仍然不起作用 – Alex 2012-08-17 10:10:48

+0

順便說一句,在你發佈的正則表達式驗證器的代碼不在gridview模板中,是否正確。如果它在gridview之外,驗證器將無法看到文本框。 – hallie 2012-08-17 10:22:18

+0

它被放置在網格內,但我顯示當我添加不工作的代碼 – Alex 2012-08-17 10:33:26

1

變化ControlToValidate="tbData"ControlToValidate="tbDate"<asp:RegularExpressionValidator

+0

我改變了,仍然無法正常工作 – Alex 2012-08-17 10:11:08

相關問題