如何在GridView TextBox中放置必需的字段验证器

时间:2013-10-02 07:33:14

标签: asp.net gridview requiredfieldvalidator

我有一个GridView,其中包含TemplateFieldTextBox项控件。我想在其上添加一个必需的字段验证器。这是我的代码:

<asp:TemplateField HeaderText="vid">
    <EditItemTemplate>
         <asp:TextBox ID="txtvid" runat="server" Width="150px"
                            Text='<%# Bind("vid") %>'>
         </asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
         <asp:Label 
                   ID="lblvid" runat="server" 
                   Text='<%# Bind("vid") %>'>
         </asp:Label>
    </ItemTemplate>
 </asp:TemplateField>

如何在txtvid上放置必填字段验证器?

2 个答案:

答案 0 :(得分:4)

在修改模板中,添加RequiredFieldValidator,如下所示:

<EditItemTemplate>
    <asp:TextBox ID="txtvid" 
                 runat="server" Width="150px"
                 Text='<%# Bind("vid") %>'>
    </asp:TextBox>
    <asp:RequiredFieldValidator 
                 ControlToValidate="txtvid" 
                 runat="server" 
                 ErrorMessage="Please enter a 'vid' number" 
                 Text="*"/>
</EditItemTemplate>

以下是MSDN上RequiredFieldValidator的参考资料。

<强>更新

如果你想要一个正则表达式验证器,它几乎一样,但是RegularExpressionValidator控件:

 <asp:RegularExpressionValidator 
     ControlToValidate="txtvid"
     ValidationExpression="\d{10}"
     runat="server" 
     ErrorMessage="Please enter a 'vid' of 10 digits" 
     Text="*"/>

以下是MSDN上RegularExpressionValidator的完整功能列表。

答案 1 :(得分:0)

在gridview中,我指定了文本框,requiredfieldvalidator和按钮,当按钮单击而不填充文本框时,此验证程序将验证gridview中的所有文本框。我怎么能解决这个问题..

    <asp:TemplateField HeaderText="vid">               
        <ItemTemplate>
    <asp:TextBox ID="txtvid" runat="server" Width="150px" ValidationGroup ="subgrp">
             </asp:TextBox>
<asp:RequiredFieldValidator ID="rfvQuantity" ControlToValidate="txtvid" runat="server"
                    ErrorMessage="Required" ForeColor="Red"
                    ValidationGroup = "subgrp"></asp:RequiredFieldValidator>
             <asp:Label 
                       ID="lblvid" runat="server" 
                       Text='<%# Bind("vid") %>'>
             </asp:Label>
<asp:Button ID="btnSelect" runat="server" Text="Select" ValidationGroup ="subgrp"/>
        </ItemTemplate>
     </asp:TemplateField>

这将验证gridview中的所有文本框,当我单击特定行中的按钮而不填写itemtemplate中的文本框时。