Asp.net mvc 使用FluentValidation对属性进行多个验证

Asp.net mvc 使用FluentValidation对属性进行多个验证,asp.net-mvc,asp.net-mvc-2,asp.net-mvc-3,fluentvalidation,Asp.net Mvc,Asp.net Mvc 2,Asp.net Mvc 3,Fluentvalidation,我正在使用FluentValidation和ASP.NETMVC3 我只是有几个关于验证的问题 我对视图模型设置进行了如下验证: public NewsViewModelValidator() { // Title is required RuleFor(x => x.Title) .NotEmpty() .WithMessage("Title is required"); // Title must be less than or equal

我正在使用FluentValidation和ASP.NETMVC3

我只是有几个关于验证的问题

我对视图模型设置进行了如下验证:

public NewsViewModelValidator()
{
   // Title is required
   RuleFor(x => x.Title)
      .NotEmpty()
      .WithMessage("Title is required");

   // Title must be less than or equal to 100 characters
   RuleFor(x => x.Title)
      .Length(1, 100)
      .WithMessage("Title must be less than or equal to 100 characters");
}
是必须这样做,还是我需要将其包含在一个语句中

我需要对Title属性进行2次验证,名称必须是必填字段,长度不能超过100个字符。以下是触发验证后的来源:

<td valign="top"><b>Title: *</b></td>
<td>
   <input class="input-validation-error" data-val="true" data-val-length="Title must be less than or equal to 100 characters" data-val-length-max="100" data-val-length-min="1" data-val-required="Title is required" id="Title" max="100" name="Title" size="100" type="text" value="" /><br>
   <span class="field-validation-error" data-valmsg-for="Title" data-valmsg-replace="true">Title is required</span>
</td>
标题:*

标题是必需的
它使用了两个不同的类,每种验证类型一个。为什么会这样?现在我的形式不一致。我有另一个输入字段是必需的,用于该字段的类是输入验证错误,上面是字段验证错误

如何启用客户端验证?我被告知,如果在我的web.config中设置了以下代码,则客户端将自动打开:

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


未触发客户端验证。我是否需要包含jQuery库,或者这是为我完成的?

您需要将这些添加到您的_Layout.cshtml中:

<script src="/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

您需要将这些内容添加到_Layout.cshtml中:

<script src="/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>