2013-04-08 46 views
0

我有一個相當簡單的表單,在部分視圖中創建並在jQuery對話框中加載表單。該視圖與模型緊密相關。當用戶點擊提交按鈕而沒有輸入任何輸入時,我需要顯示驗證消息。無法在MVC視圖中顯示來自@ Html.ValidationSummary()的驗證消息

<div> 
    <form method="post" enctype="multipart/form-data" id="ssimForm" action="Home/ProcessUploadedFile" 
    onsubmit="return false;"> 
    <div> 
     <h3> 
      Select the file to be uploaded :</h3> 
     <span> 
      <input type="file" name="UploadFileName" id="UploadFileName" /></span> 
    </div> 
    <div> 
     <h3> 
      Select the date range :</h3> 
     <span class="uslabel">From Date(MM/dd/yyyy): </span> 
     <input class="usdate" id="usfromdate" name="StartDate" type="date" /> 
     <span class="uslabel">To Date(MM/dd/yyyy): </span> 
     <input class="usdate" id="ustodate" name="EndDate" type="date" /> 
    </div>  
    <div> 
     <br />   
     <input type="submit" id="submitButton" name="submitButton" value="Process File" /> 
    </div> 
    @Html.ValidationSummary() 
    <div class="message-success"> 
     <span>@ViewBag.Confirmation</span> 
    </div> 
    <div class="message-error"> 
     <span>@ViewBag.Error</span> 
    </div> 
    </form> 
</div> 

現在出現了實際問題。當我提交表單時,我能夠看到填充了消息的validationSummary對象,但是它們沒有在屏幕上呈現。

我能夠看到消息,如果我用jquery ajax調用的響應代替對話框的內容,從服務器端獲取整個視圖。我不想採用這種方法,因爲我相信這不是在MVC中返回驗證摘要的正確方法。

我錯過了什麼嗎?任何幫助表示讚賞。

回答

0

我不知道你爲什麼沒有@using (Html.BeginForm()) { }塊。

以下是我的博客文章,爲您設置MVC3 +驗證摘要+不顯眼驗證的快速簡便方法。
http://geekswithblogs.net/stun/archive/2011/01/28/aspnet-mvc-3-client-side-validation-summary-with-jquery-validation-unobtrusive-javascript.aspx

+0

感謝您的留言。實際的問題是IE瀏覽器通過ajax發佈後重新填充模式窗口的方式。它剝離了表單標籤。 http://forum.jquery.com/topic/is-jquery-stripping-form-tags – 2013-07-22 16:42:59

相關問題