3

MVC Foolproof Validation フレームワーク ( http://foolproof.codeplex.com/ )を利用しようとしていますが、ModelAwareValidationAttribute クラスに問題があります。

カスタム検証属性を追加すると、サーバー側のモデル検証では正常に機能しますが、クライアント側では機能しません。

フレームワークによって提供される組み込み属性の 1 つを使用すると、クライアント側の目立たない検証が機能するため、正しい JavaScript ライブラリが読み込まれていることがわかります (少なくとも、わかっていると思います)。

このフレームワークを使用してカスタム検証属性を作成した人はいますか? クライアント側の目立たない検証で機能しますか? もしそうなら、それを機能させるためにあなたは何をしましたか?

問題が発生した場合に備えて、Asp.Net MVC 3 を使用しています。

4

1 に答える 1

4

http://foolproof.codeplex.com/SourceControl/latest#Foolproof/Client Scripts/mvcfoolproof.unobtrusive.jsに基づいて、カスタム クライアント検証ルールをサーバー側の兄弟として追加できます。

私がプロジェクトで行ったことは、そのファイルの絶対確実なベースを拡張することです。

コード例:

(function () {

jQuery.validator.addMethod("foo", function (value, element, params) {
    //validation code...
});

// code based on link
var setValidationValues = function (options, ruleName, value) {
    options.rules[ruleName] = value;
    if (options.message) {
        options.messages[ruleName] = options.message;
    }
};

var $Unob = $.validator.unobtrusive;

$Unob.adapters.add("foo", ["dependentproperty", "dependentvalue", ...(add more parameters if you want)], function (options) {
    var value = {
        dependentproperty: options.params.dependentproperty,
        dependentvalue: options.params.dependentvalue,
    };
    setValidationValues(options, "foo", value);
});
})();

お役に立てば幸いです。

于 2014-02-16T16:41:32.540 に答える