2011-06-16 39 views
2

我有驗證在MVC剃刀的形式的問題擊發Binding類是以下基於關閉一個抽象類(沒有驗證在抽象類)MVC剃刀驗證不上的textarea

[GeminiDisplayName("You are about To reject the following Purchase Order", false)] 
    public class PORejected : PoApprovalItems 
    { 
     public PORejected() { } 
     [GeminiDisplayName("Rejection Reason")] 
     [Required(AllowEmptyStrings = false, ErrorMessage = "Rejection Reason is Required")] 
     public string RejectReason { get; set; } 

     public override bool IsApproved 
     { 
      get 
      { 
       return false; 
      } 
     } 
    } 

和觀點如下

@model Gemini.Models.PORejected 
    @section Head{ 
     <script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script> 
     <script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script> 
     <script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script> 
     <script src="@Url.Content("~/Scripts/MicrosoftMvcValidation.js")" type="text/javascript"></script> 
     <script src="@Url.Content("~/Scripts/PageScripts/_Approval.js")" type="text/javascript"></script> 
    } 
    @section TabHeader{ 
     <li><a href="#ApprovalItem">Reject Approval for PO @Model.PO_Number</a></li> 
    } 
    @section TabContent{ 
     @{ 
      Html.EnableClientValidation(); 
     } 
     <div id="ApprovalItem"> 
      @{ 
       @Html.ValidationSummary(false) 
       using (Html.BeginForm("Approve", "PO", FormMethod.Post)) 
       { 

       @Html.Partial("Approval/ApprovalDetails", Model) 
       <div class="display-label"> 
        <table width="100%" cellpadding="0" cellspacing="0" border="0"> 
         <tr> 
          <td width="15%"> 
           @Html.LabelFor(x => x.RejectReason) 
          </td> 
          <td> 
           @Html.TextAreaFor(x => x.RejectReason, new { @Class = "mceEditor required", @style = "width:60%;" }) 
           @Html.ValidationMessageFor(x => x.RejectReason) 
          </td> 
         </tr> 
        </table> 
        <div style="float: right;"> 
         <input type="button" value="Close" /> 
         <input type="submit" value="Reject" /> 
        </div> 
       </div> 
        Html.EndForm(); 
       } 
      } 
     </div> 
    } 

的事情是,當我點擊提交按鈕,它做任何驗證之前觸發中斷,即使它應該驗證

我的問題是我究竟做錯了什麼?

更新 找到了答案,最終我錯過了以下從頁面。 <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

回答

2

找到答案最終我錯過了以下從頁面。 <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

1

這條線是幹什麼用的?

Html.EnableClientValidation(false); 

這會禁用客戶端驗證。另外,不需要在每個視圖上設置UnobtrusiveParameters,在Web配置中設置它們一次。

+0

對不起,這是一個編輯,我一直在嘗試不同的東西,以使其工作從未拿出來。無論它被取出,它仍然不起火。 – Qpirate 2011-06-16 10:43:23

+0

找到答案最終我錯過了一個電話 – Qpirate 2011-06-16 15:09:35