Asp.net 客户端验证在C#MVC4中的HTML编辑器上不起作用

Asp.net 客户端验证在C#MVC4中的HTML编辑器上不起作用,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,事实上,我在c#MVC4体系结构中工作,我也在使用newget,我正在我的应用程序和公司模型中安装tinymce包属性名称AboutCompany和Company profile具有所需的注释,但它在客户端不起作用 请参阅以下代码 这是我的模型 public class BusinessProfile { [Required(ErrorMessage = "Please enter About Company")] [Display(Name = "About Company :

事实上,我在c#MVC4体系结构中工作,我也在使用newget,我正在我的应用程序和公司模型中安装tinymce包属性名称AboutCompany和Company profile具有所需的注释,但它在客户端不起作用

请参阅以下代码 这是我的模型

public class BusinessProfile
{
   [Required(ErrorMessage = "Please enter About Company")]
    [Display(Name = "About Company : ")]
    [UIHint("tinymce_jquery_full"), AllowHtml]
    public string txtAboutCompany { get; set; }

    [Required(ErrorMessage = "Please enter Company Name")]
    [Display(Name = "Company Name : ")]
    public string companyname{get;set;}

}
这是我的看法意味着HTML代码

 <div>
  @Html.LabelFor(model => model.txtBusinesstitle, new { @class = "required" })
  @Html.EditorFor(model => model.txtBusinesstitle)
  @Html.ValidationMessageFor(model => model.txtBusinesstitle)
</div>

您必须从webconfig文件中打开客户端验证和不引人注目的验证

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

还请检查您正在使用此捆绑包引用的脚本~/bundles/jqueryval


并检查浏览器抛出的js错误。

您可能需要创建一个自定义的jquery验证程序。Required属性的工作方式是依赖于jquery验证插件

如果查看生成的html源代码,您将看到由助手(例如html.EditorFor)为带有Required注释的属性生成的输入将具有class=“Required”或仅具有Required属性

jquery验证通过jquery选择器对它们进行检测(这是不引人注目的部分)

我敢打赌tinymce包的model属性不是用EditorFor或等效的助手呈现的。您仍然可以使用jquery验证思想。如果它只是一个普通的输入(我对tinymce不太熟悉),只需确保它具有class=“required”或一个required属性(两者都可以使用)

如果它不是一个普通的输入,您可以创建自己的jquery验证器。下面是一个非常简单的示例:

$.validator.addMethod("custom", function(value){
    return value != "1";        
}, "default custom error message");
您使用它的方式是放置class=“custom”或执行此操作

这里有一个和一个更详细的一个,显示如何可以


您需要在jQuery表单中包含这些值

MVC验证要求验证的字段位于使用任何
Html.BeginForm()
重载创建的MVC表单中,因为它需要
FormContext

您还需要确保在
web.config
中启用了客户端验证:

<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>


不,亲爱的,没有任何js错误抛出,我检查我的web.xml文件都是真的。这个问题只发生在html编辑器上,它在正常的文本框或文本区域中正常工作…@jegs抱歉,我以为你也不能验证简单的文本框。问题是验证在tinyMCE编辑器上不起作用…也请查看这篇文章
<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>