5

Brad Wilsonの投稿で述べられているように、「モデルレベル」の検証をどのように達成するのでしょうか。

最後に、検証で複数のプロパティにアクセスできるようにする場合は、モデルレベルの検証にします(単一の個別のプロパティ値ではなく、モデル全体をモデルパラメーターとして取得するようにします)。

http://forums.asp.net/p/1457591/3650720.aspxから

私は次のことをしようとしました

[MyCustomValidation("SomeStuff")]
public class MyClass
{
     // properties
}

ブレークポイントはトリガーなしのIsValidオーバーライドに配置され、コードは続行されます。MyCustomValidation作業のコンストラクターのブレークポイントですがMyCustomValidation、その後は何もありません。

これは何model-level validationを指しているのではありませんか?

アップデート:

dirtygopherのhttp://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.htmlへのリンクは、モデルの検証を示しています。唯一の問題は、検証属性が配置されていることです。親クラスの子プロパティ。

validation-attributes上記の例で示したように、クラスに直接配置する方法を探しています。

4

3 に答える 3

2

最新のasp.netmv2に付属しているRegisterModelには、この良い例があります。

「PropertiesMustMatch」属性とその使用法を確認してください。

于 2010-01-31T09:21:49.293 に答える
0

これは、BradWilsonのブログ http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.htmlの良い投稿です。 モデルレベルの検証の概念を理解するのに役立つことを願っています。

于 2010-02-02T12:21:39.403 に答える
0

MVC3を使用している場合、これはこの質問に対するもう1つの答えです。この例では、単一のプロパティにアタッチできる属性を作成し、プロパティ名とオブジェクト値を渡すことで、別のプロパティに依存させることができます。

属性が実際に検証されるオブジェクトにアタッチされるため、結果はよりエレガントになります。

http://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx

于 2011-11-16T08:59:05.997 に答える