как предоставить обязательный валидатор полей текстовому полю в gridview?

#c# #validation #gridview #c#-4.0

#c# #проверка #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, он не показывает мне ‘*’

Комментарии:

1. Теперь назначена ли группа проверки для кнопки, которая вызывает проверку? Нравится <asp:Button ID="btnSubmit" ValidationGroup='GridView1'.....

Ответ №1:

Да, ваш requiredfieldvalidator, безусловно, существует, и он знает, какой элемент управления проверять.Чего не хватает, так это «когда проверять этот элемент управления».И чтобы ответить на этот вопрос, вам нужно добавить в свое текстовое поле ту же группу проверки, что и ваш requiredfieldvalidator, а также элемент управления (например, это может быть кнопка), вызывающий проверку.Итак, ваш код будет выглядеть так

 <%--<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. С помощью чего проверять?(requiredfieldvalidator)

Все эти элементы управления должны иметь одну и ту же группу проверки.

Ответ №2:

Если вам нужно выполнить проверку, проверьте что-то вроде этого

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

Итак, теперь, когда вы нажимаете кнопку «Добавить», он будет проверять те элементы управления, которые попадают в упомянутую вами группу проверки, иначе значение по умолчанию равно «», следовательно, вы не обнаружите, что какая-либо проверка сработала.

Комментарии:

1. У меня есть другие элементы на экране для проверки. Вызывает ли это проверку только gridview?

Ответ №3:

Добавьте группу проверки в текстовое поле ( txtOriginalPrice ), кнопку и другие элементы управления.