Несколько проверок для свойства с использованием FluentValidation - PullRequest
1 голос
/ 21 декабря 2010

Я использую FluentValidation и ASP.NET MVC 3.

У меня есть пара вопросов относительно проверки.

У меня есть проверка на моей модели модели вида, например:

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");
}

Так ли это должно быть, или мне нужно включить его в 1 оператор?

Мне нужно сделать 2 проверки для свойства Title, назовите егобыть обязательным полем, и оно не может быть длиннее 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>

Используются 2 разных класса, по одному для каждого типа проверки.Почему это?Теперь моя форма не соответствует.У меня есть другое обязательное поле ввода, и для этого используется класс input-validation-error, выше которого было field-validation-error.

Как включить проверку на стороне клиента?Мне сказали, что если в моем файле web.config установлен следующий код, то клиентская сторона автоматически включается:

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

Проверка на стороне клиента не запускается.Нужно ли включать библиотеку jQuery или это сделано для меня?

1 Ответ

1 голос
/ 22 декабря 2010

Вам необходимо добавить их в свой _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>
...