1

私はFluentValidationとASP.NET MVC 3を使用しています。FluentValidationを使用するプロパティでの複数の検証

私は検証に関するいくつかの質問があります。

私はこのような私の見解モデルのセットアップで私の検証を持っている:

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文でそれを含める必要がありますか?

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> 

これは2種類のクラスを使用しています(検証タイプごとに1つずつ)。どうしてこれなの?私のフォームは一貫していません。私は必要とされる別の入力フィールドを持っています、そして、これのために使用されるクラスは入力検証エラーです、それはフィールド検証エラーでした。

クライアント側の検証を有効にするにはどうすればよいですか?私は私が持っている場合は、私のweb.configファイルに設定された次のコードは、クライアント側が自動的にオンになっていることを言われた:

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

クライアント側の検証がトリガされていません。 jQueryライブラリをインクルードする必要がありますか?あなたの_Layout.cshtmlにこれらを追加する必要が

答えて

1

<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> 
関連する問題