問題タブ [validationattribute]

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 に答える
2530 参照

asp.net-mvc - モデル全体に​​対するカスタム ValidationAttribute テスト

これがおそらく不可能であることはわかっていますが、2 つのプロパティを持つモデルがあるとします。

プロパティの 1 つに ValidationAttribute を記述します。その VA は、他のプロパティを見て決定を下すことができますか?

そう;

上記の例で、バリデータは「state」プロパティの内容を確認し、「familyType」を検証する際にそれを考慮に入れることができますか?

おそらくオブジェクトをセッションに保存できることはわかっていますが、可能であれば状態の保存を避けたいと考えています。

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

wcf - wcf で生成されたクラスと検証アプリケーション ブロックの属性

私は検証アプリケーションブロックを初めて使用し、wcf で使用しようとしています...

検証アプリケーション ブロックを使用して、属性で定義された検証ルールを持つデータ オブジェクトを持つ wcf サービスがあります。

私のクライアント側 (WPF) には、サービス参照があります。サービス参照を更新すると、生成されたクラスに検証ルール属性が含まれていません。

サービスからルールを取得するにはどうすればよいですか? いくつかのステップが欠けていますか、それとも不可能ですか?

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

c# - 値が変更された場合のみ検証属性?

指定された値が一意かどうかをチェックするカスタム ValidationAttribute を書きたいと思います。

問題は、編集画面で、ユーザーが実際に値を変更したことが保証されず、誤ったエラーが発生することです。

値が実際に変更されたかどうかを属性で確認する方法はありますか? または、値が変更された場合にのみ属性をトリガーできますか?

この要件は属性に属していないのではないでしょうか?

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

asp.net-mvc - モジュールレベルのバリデーターがプロパティレベルのバリデーターの後にのみ評価されるのはなぜですか?

私はモジュールレベルのバリデーターを使用しています:ビューモデルで「PropertiesMustMatch」のように:

名前を入力せずにフォームを送信すると、ValidationSummary()ヘルパーが次のエラーのみを返すことに気づきました。

  • [名前]フィールドは必須です。

ただし、Nameを入力すると ValidationSummary()はPropertiesMustMatchエラーを返します。

  • 「Password」と「PasswordConfirm」が一致しません。

したがって、プロパティレベルのバリデーターが最初に評価され、次にモデルレベルのバリデーターが評価されているように見えます。

それらがすべて一度に検証され、ValidationSummaryが次のように返される場合は非常に望ましいです。

  • [名前]フィールドは必須です。
  • 「Password」と「PasswordConfirm」が一致しません。

これを修正するために私ができることはありますか?

私はMVC2のソースコードを調べて、これが発生する理由を特定しようとしています。

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

.net - .Net MVC2 カスタム ValidationAttribute を使用するときに ModelState にエラーを追加する方法

次の ValidationAttribute クラスがあります

コンストラクターで 2 つの日付プロパティ名と演算子を使用します。

検証メソッドでは、ステートメント LeftDate Operator RightDate の結果が返されます。

これは AttriuteTargets.Class 属性であるため、検証が失敗する原因となっているプロパティをフレームワークが認識できないことはわかっています。しかし、失敗しているのは Left Date プロパティであることを知っているため、モデル状態のエラーの ID をこのプロパティに設定したいと考えています。この理由は、失敗したフィールドをフォームでマークしたいからです。

質問: ModelState のエラー コレクションに追加されたエラー項目を変更して、その ID がフォームの特定のフィールドに対応するようにするにはどうすればよいですか?

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

validation - ValidationResult.MemberNamesプロパティに複数の値が含まれることはありますか?

リフレクターで検索しましたが、ValidationResult.MemberNamesに複数の値が含まれているはずのケースを見つけることができませんでした。

それで、まず最初にMSがそれをしなければならなかったのか疑問に思いますIEnumerable<string>、そして今彼らがすでにこれをしているので、私はこのプロパティが1つの値だけを返すと信じることができますか?


DataAnnotations検証システムに関する更新私はもっとだらしがないことに気づきました:

  1. エラーがもう存在しない場合は、andはvalidationResultsパラメーターからTryValidatePropertyエラーTryValidateObject削除する必要があります。
  2. ValidationResultは、EqualsとGetHashCodeをオーバーライドする必要があります。
  3. ValidationResult.ErrorMessageが変更可能であるのはなぜですか?自分でEqualityComparerを作成することはできません。
  4. DataTypeAttributeが表現の問題にのみ使用される場合、なぜそれがValidationAttributeを継承するのか、それは誤解を招くだけです。(リフレクターの後で)それが機能しないことを理解するまで苦労しなければなりませんでした。MSはそれを実装しませんでした。

そして、リストは続きます。

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

asp.net-mvc-3 - クライアント側でカスタムValidationAttributeを「data-val-xx」属性としてレンダリングするにはどうすればよいですか?

次のようなViewModelを指定します。

そして、このようなビュー(ここではRazor構文):

次のマークアップを取得しています。

ただし、カスタムバリデーターの「data-」属性も含めたいと思います。

私はこのようなものが欲しい:

ASP.NET MVC 3.0でこれを実現するにはどうすればよいですか?

たとえば、カスタムバリデーターに特別な属性を設定する必要がありますか?またはどこかに登録しますか?

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

asp.net - ValidationAttributes を手動で呼び出すには? (DataAnnotations と ModelState)

一部のロジックでは、モデルのプロパティを反復処理してプロパティを自動バインドする必要があり、機能を拡張して C# 4.0 の新しいデータ注釈を含めたいと考えています。

現時点では、基本的に、すべての ValidationAttribute インスタンスに読み込まれている各プロパティを繰り返し処理し、Validate/IsValid 関数を使用して検証しようとしていますが、これはうまくいかないようです。

例として、次のようなモデルがあります。

属性をチェックするコードは次のとおりです。

コードをデバッグしたところ、モデルには 3 つの属性があり、そのうちの 2 つは ValidationAttribute から派生していますが、コードが Validate 関数を (空または null 値で) 通過すると、期待どおりに例外がスローされます。

私はばかげたことをしていると思っているので、誰かがこの機能を使用して助けてくれるかどうか疑問に思っています.

前もって感謝します、ジェイミー

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

asp.net-mvc - MVC3ValidationAttributeブレーク

プロジェクトをMVC2からMVC3にアップグレードしたところ、すべてのカスタムValidationAttributesが壊れました。モデルバインダーフェーズのある時点で、次の例外がスローされます。

何が変わったのかわかりません...DisplayNameがありません。

どういうわけか変更されたと思われるIsValidオーバーライドが疑われますが、署名は同じです。

より詳しい情報:

次のように、「AttributeTargets.Class」プロパティに影響を与えるようです。

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

javascript - ASP.NETMVCを使用したJSインジェクションに対するセキュリティ保護

ユーザーがHTMLをサイトに投稿できるようにしたいのですが、サイトにJavascriptが挿入されていないことを確認する必要があります。

これまでのところ、受信したhtmlで危険な動作をチェックするための検証属性を作成しました

これで十分ですか?そのようないたずらをチェックするためにあなたは何をしますか?