2016-09-15 23 views
0

我有一個頁面,它有兩個單獨的搜索表單,一個用於按項目ID搜索,另一個用於按關鍵字搜索。它看起來像這樣:頁面上的兩個單獨搜索表單要求在驗證時填寫對方的字段

search forms

我開始只是頂一個,我現在加一個底部。最下面的一個基本上是第一個的複製和粘貼(都是Sitecore中的組件)。這是每個代碼:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SearchByItemNumber.ascx.cs" Inherits="Bayer.CropScience.SC.Internet.US.Website.layouts.Bayer_CropScience.Scope.Country_United_States_Internet.RewardsCatalog.SearchByItemNumber" %> 

<div class="form search-item"> 
    <div class="clearfix"> 
     <h3> 
      <label class="searchByItemNumber" for="item-num">Know your item number?</label></h3> 
     <div class="input-wrapper search-by-itemnumber-length"> 
      <asp:TextBox runat="server" ID="txtSearchItemNumber" CssClass="search-by-itemnumber-length" placeholder="Search by Item Number" /> 
      <asp:RequiredFieldValidator runat="server" ID="rfvSearchItemNumber" ControlToValidate="txtSearchItemNumber" ValidationGroup="searchCatalog" ErrorMessage="Please fill out this field." CssClass="error"></asp:RequiredFieldValidator> 
     </div> 
     <asp:Button runat="server" Text="Go" CssClass="small" OnClick="Search" ValidationGroup="searchCatalog" /> 
    </div> 
</div> 

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SearchByDescription.ascx.cs" Inherits="Bayer.CropScience.SC.Internet.US.Website.layouts.Bayer_CropScience.Scope.Country_United_States_Internet.RewardsCatalog.SearchByDescription" %> 

<div class="form search-item"> 
    <div class="clearfix"> 
     <h3> 
      <label class="searchByKeywords" for="item-keywords">Search by keywords</label></h3> 
     <div class="input-wrapper search-by-keywords"> 
      <asp:TextBox runat="server" ID="txtSearchKeyword" CssClass="search-by-keywords" placeholder="Search by keywords" /> 
      <asp:RequiredFieldValidator runat="server" ID="rfvSearchKeyword" ControlToValidate="txtSearchKeyword" ValidationGroup="searchCatalogKeywords" ErrorMessage="Please fill out this field." CssClass="error"></asp:RequiredFieldValidator> 
     </div> 
     <asp:Button runat="server" Text="Go" CssClass="small" OnClick="KeywordSearch" ValidationGroup="searchCatalogKeywords" /> 
    </div> 
</div> 

的問題是,當我填寫的項目編號,然後點擊開始,我得到驗證錯誤消息「請填寫此領域的」下關鍵字框,反之亦然。我如何阻止這種情況發生?

編輯 - 當我按「回車」,而不是當我點擊發生的驗證錯誤的「轉到」按鈕

EDIT 2 - 這是一個JavaScript的問題,按回車是導致這兩個領域進行驗證。我用自定義的onkeypress函數覆蓋它

回答

3

您需要有不同的ValidationGroups。您在所有字段上都使用ValidationGroup="searchCatalog"。 指定一個唯一驗證組到您希望一起驗證的字段。

+0

哦,太棒了!謝謝! –

+0

我更改了第二個表單的驗證組,但問題仍然存在 –

+0

更新 - 驗證錯誤發生在我按下回車鍵時,但沒有單擊按鈕時出現驗證錯誤 –