問題タブ [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 投票する
2 に答える
3630 参照

asp.net-mvc - MVC データ注釈 - 必須フィールドが機能しない

こんにちは、アプリ全体に次のタラがありますが、2 つのフィールドだけでは機能しません。

次のテストが実行され、合格します。

私のコントローラーは次のようになります。

モデルに他の必須フィールドがありますが、それらは問題ありません。このフィールドは null (チェック済み) ですが、モデルが無効になることはありません。そのため、検証が行われず、保存時にエラーが発生します。

私の見解

私は自分の .dbml (Linq to SQl) を見てきましたが、スペルは問題ないようです。

私は何か単純なものを見逃しています - どうぞ、怒ってください。

ありがとう

デービー

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

c# - Using a property as an attribute argument

I have written a custom credit card validation attribute that checks CardNumber property is valid for a particular card type (another property in the same class)

This won't compile as studio complains that attribute arguments must be constant, a typeof expression or an array creation expression of an attribute parameter type (?).

Is there anyway I can pass cirvumvent this and pass my this.CardType to the attribute?

Kindness,

Dan

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

.net - DataAnnotations 属性の代わりに、RegularExpression 属性を使用できますか?

再利用可能な正規表現クラスを使用して、MVC で DataAnnotations と一緒に使用しようとしています。何かのようなもの:

これはコンパイルされますが、プロパティが一致しなくてもエラーはスローされません。

それはすべて標準で動作します

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

asp.net-mvc - MVC データ注釈レイヤー: set CurrentUICulture ステートメントを配置する場所は?

MVC アプリケーションのローカライズに夢中になっています。

私の最近の質問の後、私はこのアプローチに従いました:

  1. 言語は Session["lang"] に格納されます
  2. 各コントローラーは、OnActionExecuting をオーバーライドする独自の BaseController から継承し、このメソッドでセッションを読み取り、CurrentCulture と CurrentUICulture を設定します。

これは、データ注釈レイヤーが来るまでうまく機能します。アクション自体が実行される前に呼び出されるように見えるため、常にデフォルト言語でエラーメッセージが表示されます!

フィールド宣言は次のようになります。

それで、私が電話をかけることができる合理的な場所はありますか?

Controller コンストラクターで Data Annotation Model Binder を初期化します。

したがって、Session はコントローラーのコンストラクターで常に null であり、データ注釈がフィールドを検証した後にアクション オーバーライドが呼び出されるため、CurrentCulture と CurrentUICulture をどこで設定してローカライズされたエラーを取得できますか?

CurrentCulture と CurrentUiCulture を Application_* (例: Application_AcquireRequestState または Application_PreRequestHandlerExecute) に入れてみましたが、効果がないようです...

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

asp.net-mvc - subsonic 3.0によるasp.net mvcデータ注釈

検証用のデータ注釈とBOL生成用の亜音速3.0を備えたasp.net mvcを使用してアプリケーションを構築した人はいますか?

現在、部分クラスで IDataErrorInfo を使用しており、データ注釈に移行したいと考えていますが、subsonic 3.0 でオブジェクト ジェネレーターを使用する方法がわかりません。

私はMVC 1.0を使用しています

subsonic 3.0 で生成されたオブジェクトにデータ注釈を追加するコード サンプルを見つけたいと思います。

ありがとう

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

asp.net - ASP.NET MVC、Linq to SQL データ注釈の検証

Linq to SQL オブジェクトにデータ注釈を実装しようとしています。.dbml ファイルが生成されますが、生成されたソース コードに触れずにオブジェクトにデータ注釈を追加する方法がわかりません。

オブジェクトの別の部分クラスにデータ注釈を追加しようとしましたが、それを認識せず、Intelli の意味もありません。

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

asp.net-mvc - DataAnnotations Validation を複雑なビジネス ルールと組み合わせる

クラス プロパティに基本的な必須長さと最小長で注釈を付け、asp.net mvc サーバー側とクライアント側の検証のすべての利点を得ることを理解しています。

ただし、この「基本」検証をより複雑なビジネスルールと組み合わせる方法を示すリンクはありますか? たとえば、顧客が昨年何かを注文した場合 (データベース ヒットが必要)、同じ DataAnnotation と mvc 検証配管を引き続き使用するなど、ビジネス ルール機能を実行するにはどうすればよいでしょうか?

目標 : 検証メソッドを生成して出力する 2 つの方法を必要としません。

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

asp.net-mvc - ASP.NET MVC の検証ライブラリはどれですか?

新しい ASP.NET MVC プロジェクトにどの検証アプローチを採用するかを決定しようとしています。(そして、うわー、たくさんのオプションがあります!)

このプロジェクトは NHibernate を使用しているため、最初に検討したのは NHibernate Validator でした (NHibernate との緊密な統合のため)。ただし、私が見る限り、この緊密な統合にはいくつかの利点しかありません。

1) NHibernate によって生成された DB スキーマには、検証の詳細が含まれます (たとえば、列の長さは検証で許可される最大値に設定されます)。(ただし、スキーマを手動で生成するので、これは私にとってはあまり興味がありません。)

2) 検証仕様を満たさないデータを保存しようとすると、NHibernate は例外をスローします。(これは私にはかなり冗長に思えます。なぜなら、とにかく保存する前に、選択したメカニズムによってデータがすでに検証されているからです)

NHibernate Validator にさらにメリットがある場合は、お知らせください。

私が少し読んでいる他のライブラリには、次のものがあります。

  • MS データ注釈
  • キャッスルバリデーター
  • 他の何か?

また、xVal を使用して、同じ一連のルールからクライアント側の検証を提供することも考えています。しかし、ASP.NET MVC v2 には xVal (jquery との統合) に似たものがすぐに使えるようになると聞いています。この新たに組み込まれた機能によって、他のいくつかの機能が冗長になりますか?

ですから、私は基本的に、ここでどの方向に進むべきかについて人々のアドバイスを求めています. 特定のスキームを実装したくはありませんが、別のスキームが支配的な技術になったときにそれを取り除かなければなりません。

何がうまくいきましたか?どちらのオプションが有利だと思いますか/有利になると思いますか?

ありがとう!

0 投票する
5 に答える
9030 参照

asp.net-mvc - ASP.NET MVC:データ注釈の検証は十分ですか?

ASP.NET MVC 2でデータ注釈検証を広範囲に使用しています。この新機能は、クライアント側の検証とサーバー側の検証の両方を1か所で定義できるようになったため、大幅な時間の節約になりました。ただし、詳細なテストを行っているときに、データアノテーションの検証のみに依存している場合、サーバー側の検証をバイパスするのは非常に簡単であることに気付きました。たとえば、プロパティに[Required]属性の注釈を付けて必須フィールドを定義し、その必須フィールドのテキストボックスをフォームに配置した場合、ユーザーはDOMからテキストボックスを削除するだけで済みます(Firebugを使用して簡単に実行できます)。これで、コントローラー内のModelBinding中に、そのプロパティでデータ注釈の検証がトリガーされなくなります。「必要な」検証がトリガーされることを確認するには、

検証に関する皆さんの推奨事項は何ですか?データ注釈の検証は十分ですか?または、すべての状況で検証がトリガーされるように、検証を繰り返す必要がありますか?

フォローアップコメント: 以下の回答に基づくと、モデルバインダーとデータアノテーションの検証だけに頼ることはできないようです。追加のサーバー側検証が必要であると結論付けているので、データアノテーションで定義されているものに基づいてサービスレイヤーが検証をトリガーする簡単な方法はありますか?これにより、両方の単語の長所が得られるようです...検証コードを繰り返す必要はありませんが、Model Binderがトリガーしなくても、検証が確実に実行されるようにします。

このフォローアップコメントは、元の質問とは異なる質問になるため、別の質問として投稿します。

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

asp.net-mvc - ASP.NET MVC:サービス層でデータ注釈の検証を実行する方法は?

ここで提起された最近の質問: ASP.NET MVC: Is Data Annotation Validation Enough?

...データ注釈の検証 (モデル バインダーによってトリガーされる) に依存するだけでは、検証が常に実行されることを保証するには不十分であると結論付けられました。サービス層 (または ModelBinding が発生した後の別の場所) に同じ検証ロジックを追加する必要があります。残念なことに、検証コードを複製することになります (1 回はデータ注釈で、もう 1 回はサービス層で)。データ注釈で定義されている内容に基づいて、サービス層が検証をトリガーする簡単な方法はありますか? これが可能であれば、両方の長所を活用できます...検証コードを繰り返す必要はありませんが、検証が常に実行されるようにします。