問題タブ [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-mvc-2 - 動的に生成されたモデルでの ASP.NET MVC 2 データ注釈
ユーザー入力に応じて動的にビュー モデルを生成する asp.net mvc 2 アプリケーションを作成しています。簡単に言えば、ユーザーはビューに表示するフィールドを選択できます。
テンプレート化されたヘルパーはモデルのプロパティと属性 (データ注釈) に大きく依存しているため、実行時にビュー モデルに何らかの方法で属性を追加する必要があります。これが簡単な作業ではないことは言うまでもありません。
では、このシナリオで何をすることをお勧めしますか? 属性を静的に追加することはできないので、たとえそれが大変な作業であっても、属性を動的に追加しようとするか、別のアプローチを使用する必要がありますか?
前もって感謝します!
フェリペ
c# - ASP.NETViewModelの代替
Django / Pythonで、次のモデルがある場合
次のようなフォーム(ビューモデル)を作成できます
次に、それをビュー/テンプレートに渡します。id/creation_timeは無視されます。
この場合、idとcreation_timeの検証は実行されません。後でコードで設定して保存します。
ASP.NET MVCに(データ注釈などを使用して)そのようなフィールドを(個別のビューモデルを使用せずに)除外する方法はありますか?ADO.NETエンティティを使用しています。
c# - エンティティモデルのDataAnnotationsへのLinqはリセットされません
Asp.net MVCアプリには、カスタムバリデータークラスVと(ADO.NETエンティティ)エンティティモデルEがあります。
エンティティモデルEのカスタムプロパティPにバリデーターVを適用しました。バリデーターVはIsValidにエラーメッセージを設定します。
ただし、エンティティモデルEのインスタンスが(Asp.net MVCビューから)何度も再利用され続けているように見え、Eで検証が実行されるたびに、同じバリデーターインスタンスが使用されます。
バリデーターはErrorMessageプロパティに書き込み、ErrorMessageプロパティに複数回書き込むことはできないため、最初の検証の後に実行されるすべての検証によってクラッシュが発生します。
誰かがこれを解決する方法を知っていますか?
validation - データ注釈を使用した依存プロパティのカスタム モデル検証
今では、優れたFluentValidation ライブラリを使用して、モデル クラスを検証しています。Web アプリケーションでは、jquery.validateプラグインと組み合わせて使用し、クライアント側の検証も実行します。欠点の 1 つは、検証ロジックの多くがクライアント側で繰り返され、1 か所に集中していないことです。
このため、私は代替手段を探しています。モデルの検証を実行するためのデータ注釈の使用を示す多くの例があります。それは非常に有望に見えます。私が見つけられなかったのは、別のプロパティ値に依存するプロパティを検証する方法です。
たとえば、次のモデルを見てみましょう。
EndDate
が より大きいことを確認したいと思いStartDate
ます。カスタム検証ロジックを実行するために、ValidationAttributeを拡張するカスタム検証属性を作成できます。残念ながら、モデル インスタンスを取得する方法が見つかりませんでした。
検証中のオブジェクト インスタンスを含むこのプロパティがあるため、 CustomValidationAttributeが機能しているように見えることがわかりました。ValidationContext
残念ながら、この属性は .NET 4.0 でのみ追加されました。私の質問は、.NET 3.5 SP1 で同じ機能を実現できますか?
アップデート:
FluentValidationは、ASP.NET MVC 2 でクライアント側の検証とメタデータを既にサポートしているようです。
それでも、データ注釈を使用して依存プロパティを検証できるかどうかを知っておくとよいでしょう。
asp.net - モデル バインダーが起動する前に、データ注釈と Linq-to-SQL を使用して MVC 2 フォームを検証します (DateTime を使用)。
データ注釈付きの linq to SQL および MVC2 を使用していますが、一部の型の検証で問題が発生しています。
例えば:
これは整数であり、フォームから正の数を取得することを検証しています。
ここでの問題は、入力にテキストを書き込むときに、このエラーが表示されないことですが、モデルバインダーから「値 'Tomorrow' は Geplande sessies に対して有効ではありません」というエラー メッセージが表示されることです。
コントローラーのコード:
私が望んでいるのは、モデル バインダーの前にデータ注釈を実行できるようにすることですが、それはほとんど不可能に思えます。私が本当に望んでいるのは、自分で書いたエラー メッセージが画面に表示されることです。
DateTime にも同じ問題があります。ユーザーに特定の形式 'dd/MM/yyyy' で書き込んでもらいたいのですが、そのための正規表現があります。しかし、繰り返しになりますが、データ注釈が機能するまでには、元の文字列ではなく、DateTime オブジェクトだけが取得されます。したがって、入力が日付でない場合、正規表現は実行されません。モデル バインダーが DateTime にできないため、データ注釈が null になるだけです。
これを機能させる方法を知っている人はいますか?
asp.net-mvc - 最初の失敗後に DataAnnotation 検証を停止する方法はありますか?
ViewModels では、いくつかの DataAnnotations を使用してフォーム データを検証します。通常、フィールドごとに 2 ~ 3 個の注釈があります。
たとえば、電子メール アドレスのフィールドは次のようになります。
誰かがフォームを送信すると、両方のエラーが検証の概要に表示されます。Required 検証が失敗した場合に Email 検証が実行されないように、検証注釈を実行する順序を指定する簡単な方法はありますか?
これが不可能な場合、これは通常どのように処理されますか? 複数のアノテーションを持つフィールドに対してカスタムバリデータを作成する必要がありますか? 単一のアノテーションが複数のタイプの検証を処理する場合、それはアノテーションを使用する適切な方法でしょうか?
(おそらく Required アノテーションをカスタム Email アノテーションに組み合わせることができることも承知していますが、これは単なる例です)。
validation - mvc2.0の検証
DataAnnotations検証を使用していますが、完全に機能しますが、空のテキストボックスフィールドを検証するとエラーが発生します
値''は無効です
このエラーをカスタマイズするにはどうすればよいですか?
psエラーは、クライアントスクリプトがオフの場合にのみ表示されます
asp.net-mvc-2 - 生成されたクラスからのデータ注釈の生成
linq to sql オブジェクト、または必要に応じて Entity Framework オブジェクトがあります。
彼らのために MVC 2 データ注釈を実行したいのですが、私はとてつもなく怠け者です。
データ注釈を自動的に生成する方法はありますか
全部自分でやる必要がないように?
asp.net - 強く型付けされたリソースでLabelFor、ValidationMessageFor、EditorForのデータ注釈を使用することは可能ですか?
ASP.NETMVCアプリケーションでDataAnnotationsを使用したいと思います。リソースクラスを強く型付けし、ビューモデルで定義したいと思います。
CTRes
私のリソースであり、自動生成されたクラスです。上記の定義は許可されていません。他に解決策はありますか?
c# - カスタムリソースソリューションでDataAnnotationsErrorMessageResourceNameを使用する方法
C#を使用してMVCWebアプリケーションを構築しています。サイトは多言語対応になるため、独自のResourceManagerを実装しました。このクラスは、現在のスレッドカルチャに応じてデータベース/キャッシュから必要なリソース文字列をフェッチする役割を果たし、これまでのところ正常に機能しています。
私の問題は、たとえばプロパティでRequired Attributeを使用する場合に、カスタムResourceManagerソリューションを使用して検証エラーメッセージをフェッチしたいということです。これはできますか?