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

asp.net-mvc - linq to sql データ コンテキストでの一意性をチェックするための一般的な検証属性

私はasp.netをプログラミングしてきました。ここ数日です。これは、私が自分で理解し始めることさえできない質問です。

私が達成したいことがコードから明らかであることを願っていますが、それはきれいではありません。さらに、どのテーブル、どのフィールドでも使用したいと思います。つまり、指定したテーブルとフィールドに対して値の一意性をチェックし、そのすべてを属性コンストラクターに渡します。

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

asp.net-mvc - 同等性をチェックするためのDataAnnotation属性

DataAnnotations:範囲、必須...わかりました。

しかし、value==5またはvalue==boolをチェックするだけですか?

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

asp.net-mvc - データ注釈によるカスタム検証

カスタム データ注釈を機能させるのに問題があります。顧客 (CustomerID) の UsergroupName が一意であることを検証する検証属性を追加しようとしています。

「カウント > 0」の場合、IsValid は false を返す必要があります。

これを修正するにはどうすればよいですか。GetUsergroups() は IQueryable を返します。

編集:

現在の CustomerID をパラメーターとして渡すにはどうすればよいですか?

/M

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

asp.net-mvc - ASP.NET MVC: DataAnnotations - フィールドが数値でなければならないことを示すエラー メッセージを表示する

ユーザーが int に入るフィールドに何らかのテキストを入力すると、DataAnnotations コードに到達しないという点で、DataAnnotations の動作に穴のようなものがあるようです。モデル バインディング エラーが発生し、ユーザーに「値 'a' は XXXX フィールドでは無効です」というエラーが表示されます。

とにかく、この状況を自動的に処理するのはとてもいいことですが、実際には問題を示すエラーメッセージを表示したい. 「値 'a' は数値ではありません。XXXX フィールドに数値を入力してください」.

Asp.net MVC 2 でデフォルトの ModelState エラー メッセージを置き換える方法について説明した解決策を試しました。およびASP.NET MVC - 値の型のカスタム検証メッセージ ですが、それらを機能させることができません。

ここ ( http://msdn.microsoft.com/en-us/library/system.web.mvc.defaultmodelbinder.resourceclasskey.aspx ) に「プロパティがが無効なクラス キー (存在しないリソース ファイルなど) に設定されている場合、MVC は例外をスローします。」行を DefaultModelBinder.ResourceClassKey = "asdfasdhfk" に変更しても例外はありません。

誰にもアイデアはありますか?

編集:ここにいくつかのコードがあります。Messages.resx ファイルのメッセージが使用されていないことを除いて、すべてが機能しています。Messages.resx のコードは自動生成されるため、含めません。

したがって、「a」を ProcessOrder に入力すると、Messages.resx に PropertyValueInvalid (および InvalidPropertyValue を適切に測定) に入力したものではなく、一般的なメッセージが表示されます。

Application_Start メソッド

エンティティ クラス

コントローラーのアクション:

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

c# - Validator クラスによる DataAnnotations の検証

Validator クラスを使用して、データ注釈で装飾されたクラスを検証しようとしています。

属性が同じクラスに適用されている場合は正常に機能します。しかし、メタデータ クラスを使用しようとすると、機能しません。バリデーターがメタデータ クラスを使用するように、バリデーターで行うべきことはありますか? ここにいくつかのコードがあります..

これは機能します:

これは機能しません:

これは私がインスタンスを検証する方法です:

ありがとう。

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

c# - asp.net mvc で DataAnnotations を使用して文字列の長さを検証するにはどうすればよいですか?

ASP.NET MVC 1 アプリケーションで DataAnnotations を使用して、Required 属性と Range 属性を使用して必須フィールドと数値範囲を確認しています。

いくつかの入力テキスト ボックスで文字列の長さを検証する最良の方法を探しています。ジョブを実行できる RegularExpression 属性があることがわかりましたが、これを行うためのより具体的な属性があるかどうか疑問に思っていましたか?

また、誰かが DataAnnotations の使用に関する適切なリソースを教えてくれれば、とても感謝しています。

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

asp.net - データ注釈でできるすべての「こと」はどこで確認できますか (検証)

属性はどこにリストされますか (データ注釈検証フレームワークで実行できること)。

みたいな【必須】……。

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

asp.net-mvc - asp.net mvc multiselect ポストバック後の状態を記憶する

asp.net mvc アプリのエラー チェックに DataAnnotations を使用しています。厳密に型指定された ViewModel も使用しています。

エラー チェックは正常に機能しており、フィールドが空白の場合はエラー メッセージがビューに表示されます。ただし、フォームに MultiSelect / Listbox があり、エラー後の状態を覚えておく必要があります。

現時点では、ViewModel は次のようになっています (関連するプロパティのみを含めています)。

これは私のコントローラの私のアクションです:

私の MultiSelect は FavouriteGenreViewModel のリストを取得して GenresList のオプションを選択します。これは GET アクションで AutoMapper を使用して行いますが、投稿された値を忘れてしまうため、投稿で AutoMapper を使用できないことは明らかです。

FavouriteGenreViewModel のリストの代わりにコンマで区切られた ID の文字列を使用することを考えました。そうすれば、ポストバックされた値を再利用できます...しかし、誰かがこの問題に対処するよりエレガントな方法を持っていることを願っています。

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

ポール

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

linq-to-sql - 外部キーテーブル名をレンダリングするMVC2EditorForModel()

私は興味深い問題を抱えており、他の誰かがこれを見たかどうかを確認したかったのです。VisualStudio2010ベータ2を使用してMVC2サイトを作成しました。データ注釈付きのデータモデルオブジェクトをSQLするためにlinqを使用しています。

私のデータモデルオブジェクトでは、[ScaffoldColumn(false)]属性を使用して、EditorForModelメソッドを使用するときに外部キーIDをUIへのレンダリングから除外しています。何らかの理由で、UIは外部キーテーブル名をレンダリングしています。

たとえば、外部キーがAccountIDの場合、「アカウント」が表示されます。

これがeditorformodelのバグなのか、それとも別の/追加のデータ注釈属性を使用して、editorformodelに何もレンダリングしないように指示する必要があるのだろうか。

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

asp.net-mvc - リストボックスからのnull値は、ASP.NET-MVCのモデルバインディングでは評価されません

少なくとも1つを選択しない場合、モデル検証はリストボックス値にリンクされた属性を評価しません。この方法では、必要な値を通知するためにDataAnnotationsを使用してモデル評価を行うことはできません。

コントローラー:

景色:

モデル:

どんな助けでも大歓迎です。ありがとうございました。