1

コメントに対してオーチャードでクライアント側の検証を有効にしようとしています。このSO ディスカッションのアドバイスに従いました。私はコメントアウトしました:

 //ModelValidatorProviders.Providers.Clear();
 //ModelValidatorProviders.Providers.Add(new LocalizedModelValidatorProvider());

コメント モジュールのリソース マニフェストに以下を含めました。

 manifest.DefineScript("jQueryValidation").SetUrl("jquery.validate.js", "jquery.validate.min.js").SetVersion("1.7").SetDependencies("jQuery");
        manifest.DefineScript("jQueryValidation_Unobtrusive").SetUrl("jquery.validate.unobtrusive.js", "jquery.validate.unobtrusive.min.js").SetDependencies("jQuery", "jQueryValidation");

ビューに次のように貼り付けました。

this.Script.Require("jQueryValidation_Unobtrusive").AtHead(); 

また、DataAnnotation を CommentPartRecord.cs ファイルに追加し、Author を [必須] で装飾しました。

そして、Web.config への変更:

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

そして、コメントに対するこのサーバー側の検証のすべてにもかかわらず、うまくいきます。クライアント側の検証はありません。

4

1 に答える 1

0

DataAnnotation は CommentPartRecord ではなく、CommentPart にあるべきです。

ただし、CommentPart は Record と同じプロパティを定義していないため、Orchard.Comments は良い例ではありません (将来のバージョンでリファクタリングされる予定です)。

作成した別のモジュールでこれを試してください。

于 2012-07-05T12:52:27.253 に答える