2013-05-03 34 views
1

我有一堆RequiredFieldValidators的頁上和我想的ErrorMessage =「」在ModalPopupExtender而不是在頁面上顯示。因此,當他們點擊提交和文本框不填寫,一個ModalPopupExtender會來在屏幕上,並說「文本框是必需的」,而不是其中的RequiredFieldValidator被放置在頁面上。的RequiredFieldValidator提示ModalPopupExtender

這裏是(張貼我的整個頁面會過於龐大),我的代碼示例:

<form id="form1" runat="server"> 
<div class="container"> 
<div class="row"> 
     <div class="span3"> 
      <div class="control-group"> 
       <asp:Label ID="NameLbl" class="control-label required" runat="server" Text="Name"></asp:Label> 
       <div class="controls"> 
        <asp:TextBox ID="NameTxtBox" class="span3" runat="server"></asp:TextBox><span 
         class="help-block"><asp:RequiredFieldValidator ID="NameRFV" class="RFV" runat="server" 
          ErrorMessage="Name is Required" ControlToValidate="NameTxtBox"></asp:RequiredFieldValidator></span> 
       </div> 
      </div> 
     </div> 
     <div class="span3"> 
      <div class="control-group"> 
       <asp:Label ID="Email" class="control-label required" runat="server" Text="Email"></asp:Label> 
       <div class="controls"> 
        <asp:TextBox ID="EmailTxtBox" class="span3" runat="server"></asp:TextBox><span 
         class="help-block"><asp:RequiredFieldValidator ID="EmailRFV" class="RFV" runat="server" 
          ErrorMessage="Required" ControlToValidate="EmailTxtBox"></asp:RequiredFieldValidator></span> 
       </div> 
      </div> 
     </div> 
     </div> 
    <asp:Button ID="Button1" class="btn btn-primary" runat="server" Text="Submit" 
       OnClick="Submit_Click" /> 
    </div> 
    </form> 

    <asp:scriptmanager id="ScriptManager1" runat="server"> 
      </asp:scriptmanager><asp:ModalPopupExtender ID="ModalPopupExtender1" cancelcontrolid="btnCancel" 
targetcontrolid="Button1" popupcontrolid="SavePopup" 
backgroundcssclass="ModalPopupBG" runat="server"> 
      </asp:ModalPopupExtender> 
      <asp:panel id="SavePopup" style="display: none" runat="server"> 
      <div class="ModalPopup"> 
      <h4>Fields Missing!</h4> 
       <p>Name is Required, Email is Required.</p> 
       <input id="btnCancel" type="button" value="Close" /></div> 
     </asp:panel> 

這裏是我怎麼想它樣機當用戶點擊提交按鈕,他們應該看modelpopup像這樣說哪些字段是空的。

enter image description here

如何做到這一點任何想法?難道我把requiredfieldvalidators的modalpopupextender內,但這時該怎麼辦我確定modalpopupextender被激活,我不希望它的到來了,如果所有的領域都在其中的文本。

回答

1

我發現在ValidationSummary工具,並用它來獲得提交彈出:

<asp:ValidationSummary ID="ValidationSummary1" HeaderText="You're missing a required field:" EnableClientScript="true" ShowMessageBox="true" ShowSummary="false" runat="server" /> 

的ShowMessageBox =「true」是什麼給我的彈出框。

+0

很好的回答,我只想補充一點,你需要設置** **的ValidationGroup到相同的值要彙總的驗證控件。 – 2016-04-08 11:34:45

0

您可以使用這樣的事情;

< script type = "text/javascript" > function isPageValid() { 
 
    var validated = Page_ClientValidate('YourGroupName'); 
 
    if (validated) { 
 
    var mdlPopup = $find('myModalPopup'); 
 
    if (mdlPopup) { 
 
     mdlPopup.show(); 
 
     return false; 
 
    } 
 
    } 
 
} < /script>