2014-10-06 160 views
0

从验证示例工作:使用asp.net http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_validationsum验证一个必填字段

我想显示错误消息“您必须在以下字段中输入一个值:”包含的字段名称错误地输入数据时是错误的。

到目前为止,用户无法继续,直到输入正确的数据并在列旁边出现红色*。我现在想添加错误消息。

<div id="floater_EditData_Panel_popup" title="Feature Information" class="floaterDiv"> 
Select a feature to view/edit feature information. 
<p>&nbsp;</p> 
    <asp:UpdatePanel runat="server" id="UpdatePanelDetails1" updatemode="Conditional" Childrenastriggers="false"> 
    <ContentTemplate> 
     <asp:PlaceHolder ID="PlaceHolder1" runat="server" > 
     </asp:PlaceHolder> 
     <br /> 
     <br /> 
     <div id="EditDataPanelMessageOutput" style="color:Red;"> 

      <asp:ValidationSummary ID="ValidationSummary1" 
     HeaderText="You must enter a value in the following fields:" 
     DisplayMode="BulletList" 
     EnableClientScript="true" 
     runat="server"/> 

     </div> 
     <div id="FeatureMeasureOutput"></div> 
     <br /> 
     <br /> 
     <div class="buttonwrap"> 
     <div id="Span2" class="ActionBtns" style="display: inline-block;" > 
      <asp:button runat="server" id="UpdateButton" value="Save" Text="Save" OnClientClick="ValidateEditData();" CausesValidation="true" ValidationGroup="g_currentSelectedLayerName" /> 

     </div> 
     </div> 
    </ContentTemplate> 
    </asp:UpdatePanel> 
</div> 


    function ValidateEditData() { 
      if (Page_ClientValidate(g_currentSelectedLayerName)) { 
       //alert('it is valid'); 
       updateFeature(); 
       return true; 
      } 
      else { 
       //alert('Data not valid'); 
       return false; 
      } 
     } 

不应该验证摘要标签应用到整个页面?

+0

你这是什么意思'包括被wrong'作为W3Schools的例子是字段名已经在做 – 2014-10-06 12:31:53

+0

是的,但它在w3school的例子中工作,因为我的工作不正常,也没有显示错误信息 – John 2014-10-06 12:53:53

+1

你想验证什么(输入控件)?您的代码中没有任何输入控件 – 2014-10-06 13:18:17

回答

0

如何:

<asp:ValidationSummary ID="ValidationSummary1" 
    HeaderText="You must enter a value in the following fields:" 
    DisplayMode="BulletList" 
    EnableClientScript="true" 
    ValidationGroup="g_currentSelectedLayerName" 
    runat="server"/> 

    <asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox> 

    <asp:RequiredFieldValidator runat="server" Display="Dynamic" ControlToValidate="txtFirstName" ErrorMessage="First Name is required" ValidationGroup="g_currentSelectedLayerName"></asp:RequiredFieldValidator> 

    <asp:Button runat="server" Text="Submit" ValidationGroup="g_currentSelectedLayerName" /> 

然后一个appSetting添加到您的web.config:

<appSettings> 
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" /> 
</appSettings> 
+0

我认为将ValidationGroup添加到所有验证器控件并将ErrorMessage属性添加到您的验证器可以完成这项工作:) – 2014-10-06 19:28:56