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库。

相关问题