我有一个GridView
,其中包含TemplateField
个TextBox
项控件。我想在其上添加一个必需的字段验证器。这是我的代码:
<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
上放置必填字段验证器?
答案 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中的文本框时。