0

我試圖在我正在處理的Web應用程序中實現一個簡單的客戶端驗證,並且實際驗證郵件正在工作。但是,當我更正不正確的輸入並且控件失去焦點時,驗證消息不會清除,並且無效的類仍保留在控件上。下面是相關的視圖代碼驗證郵件不清除在MVC 3.0與不顯眼的jquery

@model Project.CommentViewModel 

@using (Html.BeginForm()) 
{ 
    @Html.ValidationSummary(true); 

    <div class="Comment"> 
     <div class="CommentInfo"> 
      Post New Comment: 
     </div> 
     <div class="CommentText"> 
      <div class="commentEdit "> 
       @Html.TextAreaFor(x => x.CommentText, new { @class = "NewCommentTextBox" }) 
       @Html.ValidationMessageFor(x => x.CommentText) 
      </div> 
      @Html.HiddenFor(x => x.ProjectID) 
     </div> 
    </div> 
} 

和視圖模型屬性

[StringLength(50)] 
public string CommentText { get; set; } 

正如我前面提到的,一旦註釋變得太長,控制失去焦點,該錯誤信息出現預期。但是,如果錯誤得到解決,錯誤消息不會消失,並且控件將保持紅色。我的_Layout頁面包含正確順序的相關腳本文件,並且我的配置文件具有正確設置的appSetting變量。任何想法有什麼不對或我應該在哪裏尋找問題?非常感謝任何建議。

回答

0

解決了這個問題。一個在頁面其他地方出現的Telerik網格似乎與驗證有衝突並將其破壞。手動註冊與網格的jQuery驗證腳本解決了問題。

@(Html.Telerik().ScriptRegistrar().DefaultGroup(group =>     
       group.Add("jquery.validate.js").Add("jquery.validate.unobtrusive.js"))) 

我認爲他們可能已經解決了這個特定的問題與新版本的Telerik庫。

相關問題