asp.net - Listbox - InsertItemTemplate RequiredFieldValidator

0 Spacewalker [2016-06-13 13:50:00]

У меня есть asp.net Listview, и я добавляю RequiredFieldValidator для операций редактирования в EditItemTemplate.

Когда я нажимаю кнопку "Изменить" и пытаюсь сохранить данные с пустым CustomerNameTextBox, тогда я получаю сообщение об ошибке "Пожалуйста, введите свое имя!".
Хорошо

<%@ Page Language="C#" UnobtrusiveValidationMode="None" AutoEventWireup="true" CodeBehind="frmMain.aspx.cs" Inherits="DB_mit_GridView.frmMain" %>

<EditItemTemplate>
    <tr style="">
        <td>
            <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
            <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
        </td>
        <td>
            <asp:Label ID="CustomerIDLabel1" runat="server" Text='<%# Eval("CustomerID") %>' />
        </td>
        <td>
            <asp:TextBox ID="CustomerNameTextBox" runat="server" Text='<%# Bind("CustomerName") %>' />
            <%-- CustomerNameTextBox must not be empty when editing an existing record
            <asp:RequiredFieldValidator runat="server" id="reqName" controltovalidate="CustomerNameTextBox" errormessage="Please enter your name!" />
        </td>

Но я хочу проверить пустой CustomerNameTextBox не только при редактировании существующей записи, но и при вставке новой записи.
Поэтому я добавляю RequiredFieldValidator для операций Insert в InsertItemTemplate:

<InsertItemTemplate>
    <tr style="">
        <td>
            <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
            <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" />
        </td>
        <td>
            <asp:TextBox ID="CustomerIDTextBox" runat="server" Text='<%# Bind("CustomerID") %>' />
        </td>
        <td>
            <asp:TextBox ID="CustomerNameTextBox" runat="server" Text='<%# Bind("CustomerName") %>' />
            <%-- CustomerNameTextBox must not be empty when insertig a new record
            <asp:RequiredFieldValidator runat="server" id="reqName2" controltovalidate="CustomerNameTextBox" errormessage="Please enter your name!" />
        </td                    

Но как только я добавлю RequiredFieldValidator в InsertItemTemplate, я получаю сообщение "Пожалуйста, введите свое имя!". сразу после начала страницы.
Я не нажал кнопку "Вставить" - сообщение просто появляется без какого-либо щелчка.

Итак, как я могу убедиться, что определенные текстовые поля не являются пустыми при редактировании или вставке? (У меня нет кода)

asp.net listview requiredfieldvalidator


1 ответ


0 charan tej [2016-06-13 14:08:00]

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

https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.basevalidator.validationgroup(v=vs.110).aspx