問題タブ [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.
asp.net - 非同期経由でValidationSummaryを更新する-ASP.NETMVC
私のコントローラーでは、modelstateが無効な場合
ValidationMessageを更新したいのですが、ビューを再投稿する必要はありません。検証メッセージを含む望ましい概念のようです。を使用するDataAnnotationsも使用しています<% Html.EnableClientValidation(); %>
が、それでもコントローラーに投稿されるため、このチェックを実行する必要があります。提案された実装はありますか?
c# - CompareToDataAnnotation属性の記述
フィールドと比較したい状況があります(たとえば、開始時刻が終了時刻より前であることを確認します)。System.ComponentModel.DataAnnotations
検証に属性を使用しています。
私の最初の考えは次のようなものでした:
これは機能しませんが、属性がマークされているコンパイラエラーがあります。
誰かがこれに対する解決策を持っていますか?または、あるフィールドを別のフィールドの値と比較して検証するための別のアプローチですか?
asp.net - ASP.NET MVC - クライアント検証のための DataAnnotations
データ注釈を使用する ASP.NET MVC アプリケーションの場合...
そして、サーバーに投稿します。まだアクションを実行しませんか。ModelState.IsValid を確認し、検証エラーで元のビューに戻ります。サーバーに (投稿経由で) ヒットしている場合でも、クライアント側の検証と見なされますか?
asp.net-mvc - DataAnnotations は EntityFramework/Linq2Sql クラスでのみ機能しますか?
ASP .NET MVC Framework の Preview 2 を使用しています。
自分の NHibernate モデルで DataAnnotation 属性を試してみましたが、うまくいかないようです。
投稿中にモデルバインディングによって検証がトリガーされるはずだという印象を受けました。しかし、私のモデルが私が提供した間違ったデータに完全にバインドされていても、ModelState.IsValid は true を返します。
DataAnnotations は EntityFramework/Linq2Sql で生成されたクラスでのみ機能しますか、それとも何か間違ったことをしているだけですか (おそらくそうです)?
前もって感謝します。
asp.net-mvc - ASP.NET MVC2DataAnnotationベースの検証がLINQ2SQLと競合する
ASP.NET MVC 2は、注釈ベースの検証の優れた機能を提供しますが、この機能を使用するには、 ここで説明するように2つのファイル(Microsoft.Web.Mvc.ModelBinders.dllとSystem.ComponentModel.DataAnnotations.dll)を参照する必要があります。
LINQ2SQLを使用してエンティティを作成します。また、エンティティクラス内で独自のアノテーションを使用します。これには、別のバージョンのSystem.ComponentModel.DataAnnotations.dllが必要です。
だから現在私はそれらの1つ(検証またはlinq2sqlのいずれか)を使用することができます誰かが同じ問題に遭遇しましたか?または、この問題を解決する方法を知っている人はいますか?
c# - .NET:一般的なDataAnnotation属性
ASP.NET MVC 2は、次のようなDataAnnotation属性に基づく検証をサポートします。
純粋な.NETのみを使用して(MVCバインディング、コントローラーメソッドなどを使用せずに)、現在のモデルの状態が有効であることを確認するにはどうすればよいですか?
理想的には、それは単一の方法になります。
asp.net-mvc - ASP.NET MVC ModelMetaData:RequiredAttributeに基づいてIsRequiredを設定する方法はありますか?
Brad Wilsonは、ASP.NET MVCの新しいModelMetaDataにすばらしいブログシリーズを投稿しました:http: //bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html
その中で、彼はModelMetaDataクラスがビューとテンプレート化されたヘルパーでどのように公開されるかを説明しています。フィールドが必要な場合は、フォームフィールドラベルの横にアスタリスクを表示したいので、ModelMetaDataのIsRequiredプロパティを使用することを検討しました。ただし、IsRequiredは、デフォルトではnull許容でないすべてのプロパティに対してtrueですが、null許容可能なすべてのプロパティに対してはfalseです。問題は、文字列は常にnull許容であるため、文字列のIsRequiredプロパティは常にfalseです。IsRequiredが設定されているデフォルトをオーバーライドする方法を知っている人はいますか?または、プロパティを装飾してきたRequiredAttribute属性を利用することを考えましたが、RequiredAttributeはModelMetaDataクラスを介して公開されていないようです。誰かがこの問題を回避する方法を知っていますか?
前もって感謝します。
asp.net-mvc - 外部要因(つまり、データストアの一意性)に基づいてオブジェクトを検証します
説明
私のソリューションには次のプロジェクトがあります。
- DAL =変更されたエンティティフレームワーク
- DTO =自分自身を検証できるデータ転送オブジェクト
- BL =ビジネスレイヤーサービス
- WEB =プレゼンテーションAsp.netMVCアプリケーション
DAL、BL、およびWEBはすべてDTOを参照しています。これはすばらしいことです。
プロセスは通常、次のように実行されます。
- WEBに対してWebリクエストが行われます
- WEBはDTOを投稿します
- DTOは、カスタムActionFilterを介して自動的に検証されます
- 検証エラーは自動収集されます
- (検証はOKです)DTOを提供するBLへのWEB呼び出し
- BLはDTOを使用してDALを呼び出します(DTOを通過させるか、単に使用することができます)
DTO検証の問題は...
私のDTOは、自分の状態(プロパティの値)に基づいて自分自身を検証できます。しかし、今のところ、そうでない場合に問題が発生します。BL(および結果としてDAL)を使用して検証する必要があります。
私の実際の例:ユーザーが登録し、WEBが検証されるユーザーDTOを取得します。問題のある部分はusername
検証です。その一意性はデータストアに対してチェックする必要があります。
これをどのように行うのですか?
すべてのDTOがIoCとTDDのインターフェイスを実装する(つまり、User
DTOが実装する)という追加情報があります。IUser
どちらもDTOプロジェクトの一部です。
不可能な試み
- 循環参照を取得するため、DTOでBLを参照できません。
Compilation error
- 部分的なDTOクラスを参照し、そこで検証を実装する追加のDTO.Valプロジェクトを作成することはできません(BL + DTOを参照します)。
Partial classes can't span assemblies.
可能な試み
ActionFilter
外部条件に対してオブジェクトを検証するスペシャルを作成します。これはWEBプロジェクト内で作成されるため、ここで使用されるDTOとBLが表示されます。- DTOをBLに配置し、DTOインターフェイスを他のプロジェクトによって参照される実際のDTOとして保持し、すべてのコードをリファクタリングして、具象クラスの代わりにインターフェイスを使用します。
- 外部依存の検証を処理せず、外部依存に例外をスローさせます-おそらくこの問題の最悪の解決策です
あなたは何を提案しますか?
asp.net - ビジネス層 (ASP.NET) で DataAnnotations を呼び出す方法は?
転送オブジェクトで DataAnnotations を使用したいと考えています。ただし、ビジネス層でそれらを呼び出して入力を検証するにはどうすればよいですか?
これは何らかのメソッド呼び出しまたはリフレクションによるものですか?
私は ASP.NET を使用していませんが、標準の ASP.NET を使用しており、ビジネス レイヤーでデータ アノテーションを呼び出したいと考えています。