2016-06-13 4 views
0

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

Когда я нажимаю кнопку «Изменить» и пытаюсь сохранить данные с пустым 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 для операций вставки в 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 я получаю сообщение «Пожалуйста, введите ваше имя!» сразу после начала страницы.
Я не нажал кнопку «Вставить» - сообщение появляется просто без щелчка.

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

ответ

0

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

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

+0

Если я undertstoond статью правильно, то группа проверки будет использовать постбэк? Есть ли способ сделать проверку клиентов? – Spacewalker

Смежные вопросы