問題タブ [data-annotations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
929 参照

c# - カスタム ViewModel クラス - プレフィックスが指定されていない限り、すべてのフィールドが無効とマークされているわけではありません

私は、2 つのフィールドと 1 つの linq2sql エンティティを持つカスタム ビューモデルを持っています。すべてのフィールドには、検証属性が添付されています。すべてのフィールドが無効な場合でも、linq2sql クラスのフィールドのみがエラーとして視覚的に示され、viewmodel のフィールドは正常に表示されます。ただし、すべての無効なフィールドに対してエラー メッセージが表示されます。

私のカスタム ViewModel は次のようになります。

Book クラスは、検証のためにメタデータ型属性が付加された linq2sql エンティティです。

リポジトリには、2 つのオーバーロードを持つ AddBook メソッドがあります。1 つはビューモデルを取り、もう 1 つは Book タイプを取ります。

コントローラーの Create アクションは次のようになります。

クライアント側の検証ルールを生成するために xVal を使用しています。私の作成ビューは次のようになります。

クライアント側の検証は正常に機能します..しかし、JavaScriptをオフにしてからポストバックすると、すべてのフィールドに対してフォームエラーメッセージが表示されますが、Field1とField2は無効としてマークされません..フィールドにCSSクラスが追加されておらず、 span タグは、視覚的なエラー表示のために生成されます。

スクリーンショット http://img22.imageshack.us/img22/324/26677634.jpg

しかし、ViewModel フィールドに何かを貼り付けると

それに応じてビューを変更すると、すべてが正常に機能します。

ここで何が間違っていますか?

この投稿をとても長くして申し訳ありません..

0 投票する
1 に答える
173 参照

asp.net-mvc - xValの使用経験がある人にとって、組み込みのデータ注釈よりも城のバリデーターを学習して使用する価値はありますか?

城のバリデーターは、標準のデータ注釈に対して何を提供しますか?

私はxVal、データアノテーション、キャッスルバリデーターを初めて使用するので、どちらを選択しても学習曲線があります。casleバリデーターの使用を開始するだけの価値はありますか(より堅牢になると思います)

0 投票する
1 に答える
779 参照

c# - クラス全体の xVal、DataAnnotations

オブジェクトの完全な検証があり、それを処理する最善の方法を見つけようとしています。

次のクラスがあるとします。

クラスを永続化する前にクラスを検証するために dataannotation と xval を使用したいのですが、複数のプロパティを必要とする複雑な検証があります。

擬似:

次のように注釈を付けたいと思います。

次のような検証ルールがあります。

パラメータが LetterResponse クラスのインスタンスであることを期待していますが、検証ランナーで呼び出されませんか?

これを処理する方法を知っている人はいますか?

ありがとう、

ハル

0 投票する
7 に答える
4910 参照

asp.net-mvc - DataAnnotations を使用して ASP.NET MVC モデルの一部を条件付きで検証しますか?

私のページには、特定の状況下で非表示になっている特定のパネルがあります。

たとえば、「請求先住所」と「配送先住所」があり、「ShippingSameAsBilling」チェックボックスがオンになっている場合、「配送先住所」を検証したくありません。

これを実現するために、ASP.NET MVC 2 (プレビュー 1)の新しいDataAnnotations 機能を使用しようとしています。

「配送先住所」が表示されていないときに検証を防止する必要があり、これを実現する方法を見つける必要があります。jquery を使用するのではなく、主にサーバー側で話しています。

どうすればこれを達成できますか?カスタム モデル バインディングに関連するいくつかのアイデアがありましたが、現在の最善の解決策を以下に示します。この方法に関するフィードバックはありますか?

0 投票する
4 に答える
3707 参照

c# - DataType がどのように機能するかに関して、データ注釈の適切なリファレンスはありますか?

PhoneNumber プロパティと Email プロパティの両方を持つ顧客クラスがあります。DataAnnotations を使用すると、プロパティを DataType 検証属性で装飾できますが、それが何を意味するのかわかりません。

例えば:

このプロパティに「1515999A」を割り当てた単体テストがあります。検証ランナーをステップ実行すると、値は電話番号に対して有効であると見なされます。私はこれが無効であるべきだと思っていたでしょう。

私はいくつかをグーグルで検索しましたが、列挙されたさまざまな DataTypes が実際にキャッチするものについての適切な説明を見つけることができませんでした。価値のある参照はどこかにありますか?

編集:

ここに私が検証ランナーに使用しているものの根性があります...

0 投票する
2 に答える
1694 参照

asp.net-mvc - xVal 複合型の子プロパティを検証するにはどうすればよいですか?

ASP.NET MVC アプリケーションでxValを使用していますが、これは一般的に優れています。Steve Sanderson のブログ投稿に従って、属性付きオブジェクトのサーバー側検証を行う DataAnnotationsValidationRunner を作成しました。これは、単純なクラスに最適です。例: 人:

ただし、この人に Address プロパティを追加し、Address クラスを DataAnnotation 属性でマークすると、それらは検証されません。例えば

1 つの問題は、DataAnnotationValidationRunner が複雑な子プロパティをたどらないことです。また、これらのエラーがエラー コレクションに追加された場合でも、モデルの状態に追加されたときに正しくプレフィックスを付ける必要があります。例えば。Person エラーは次のように追加されます。

アドレス ルールの例外には、「person.address」というプレフィックスを付ける必要があると思います。xVal を使用して子オブジェクトの検証を処理するサポートされている方法はありますか?それとも、フラット化されたデータ転送オブジェクトを作成することが唯一の解決策でしょうか?

0 投票する
1 に答える
1764 参照

asp.net-mvc - ビューモデルのAsp.NET MVCカスタムバリデータ?

カスタム ビュー モデル クラスを DTO オブジェクトとして使用して、View ページに表示するデータを保持しています。これらのクラスのプロパティに対してサーバー側の検証を実行するために、DataAnnotations ライブラリを介して検証を適用しました。簡単な例を次に示します。

誰かが検索を送信し、このフィールドが通過しないか、16 以外の長さで通過した場合、検証は失敗し、ValidationMessage HtmlHelper を介してページにエラー メッセージが表示されます。

ここで、アカウント IDまたは名/姓の組み合わせで検索する機能を追加する必要があります。私の質問はこれです:

条件付き検証を適用するにはどうすればよいですか? 名/姓で検索を送信した場合、アカウント番号も渡されなかったために検証が失敗することは望ましくありません。カスタムバリデーターを実装する方法を示すこのリンクを見つけましたが、これは 1 つのプロパティに当てはまるようです。オブジェクト モデル全体を渡し、適切な検証エラー メッセージを適切なフィールドに戻してページに表示するにはどうすればよいですか? これは可能ですか?

0 投票する
1 に答える
256 参照

model-view-controller - MVC DataAnnotations テスト

部分クラスに次のコードがあり、LINQ to SQL を使用しています。

ここで見つけたこのコードを使用して、「CustomerName」が必要かどうかを確認するテストを作成しようとしています: http://bradwilson.typepad.com/blog/2009/04/index.html

var propertyInfo = typeof(Order).GetProperty("CustomerName");

var attribute = propertyInfo.GetCustomAttributes(typeof(RequiredAttribute), true).Cast().FirstOrDefault();

属性は常に null です。

誰でも助けてもらえますか?

ありがとう

デービー

0 投票する
3 に答える
15543 参照

c# - ASP.NET MVC データ注釈の検証 ErrorMessageResourceType

Data Annotations Validation を使用すると、リソースを使用しようとするまではすべて正常に機能します。

表示されるエラーは次のとおりです。「ErrorMessageResourceType」という名前は、現在のコンテキストには存在しません。

そして、私が使用したコード:

私はこれで何か問題を見つけることができません。より経験豊富な人が何が悪いのか助けてくれますか?

ありがとうございました!

0 投票する
7 に答える
59519 参照

c# - 日付のデータ注釈範囲

[Range]日付にアノテーションを使用することはできますか?

何かのようなもの