如何在gridview中为textbox提供必要的字段验证器?

时间:2011-10-07 10:13:26

标签: c# validation gridview c#-4.0

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Height="146px"
            Width="308px">
            <Columns>            
                    <asp:TemplateField HeaderText="Original Price" ControlStyle-Width="100px">
                    <ItemTemplate>
                        <asp:TextBox ID="txtOriginalPrice" runat="server"></asp:TextBox>
                         <asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtOriginalPrice" 
                         ValidationGroup="GridView1" Display="Static" ErrorMessage="" Text="*"></asp:RequiredFieldValidator> 

                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

我正在使用上面的代码,但它没有工作,虽然我已经把requirefield验证器它没有显示'*'

3 个答案:

答案 0 :(得分:2)

是的,你的requiredfieldvalidator肯定存在,并且它知道要验证哪个控件。缺少的是“何时验证该控件”。要回答这个问题,你需要将你的文本框与你的requiredfieldvalidator一起添加到同一个ValidationGroup中。 控件(例如,这可以是一个按钮)导致进行验证。所以你的代码就像

<%--<asp:Button ID="Button1" runat="server" ValidationGroup="GridView1" Text="Benjamin"...Somewhere in your code--%>    
    <asp:TextBox ID="txtOriginalPrice" runat="server" ValidationGroup="GridView1"></asp:TextBox> 

所以不要忘记这些问题

  1. 验证什么?(文本框)
  2. 何时验证?(点击按钮后)
  3. 尝试验证后的操作?(按一下按钮)
  4. 要验证什么?(必填字段验证器)
  5. 所有这些控件必须具有相同的ValidationGroup。

答案 1 :(得分:1)

ValidationGroup添加到TextBox(txtOriginalPrice),按钮和其他控件。

答案 2 :(得分:1)

如果您需要执行验证,请检查类似的内容

<asp:Button ID="btnAdd" runat='server' ValidationGroup='GridView1' CausesValidation='true'.....

现在,当您单击添加按钮时,它将验证属于您提到的验证组的控件,默认值为“”,因此您将找不到任何触发的验证。