問題タブ [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.
c# - カスタム検証属性内の値を取得しますか?
DI は 2 つのカスタム検証属性を作成しました。日付の検証を行った後、時間の検証を行いたいのですが、そのためには MyDate が必要です。時間検証内から MyDate にアクセスするにはどうすればよいですか?
私のモデル:
私のタイムバリデーション:
c# - オブジェクト インスタンス タイプに応じた検証属性
概念の問題に直面しています。2 つの方法で取引を作成および更新できます。Web フォームを使用する方法 (1 つは取引を作成するため、もう 1 つは編集するため) と統合ファイルを使用する方法 (大量の作成と更新を可能にするため) です。
実装する検証ロジックがあります。取引の作成時に、アクティブなセールスマンのみが受け入れられます。更新では、アクティブなセールスマンと以前のセールスマンの値 (DB に格納されている) が受け入れられます。
私はこのようなものを書きました:
}
それは良いアプローチですか(MVC準拠)ですか?検証属性は、それが適用されるモデルの種類を知る必要がありますか?
事前にアドバイスをありがとう:)
c# - カスタム検証属性が数値プロパティで機能しない
小数プロパティを検証するためのカスタム検証属性があります
ただし、それが機能せず、テキストボックスをそのプロパティにバインドしてテキストボックスに無効な値を入力すると、カスタム検証属性のエラーメッセージの代わりに「値 '' を変換できませんでした」というメッセージが表示されます。
興味深いことに、"Required" などの他の検証属性は数値プロパティでも機能しないことがわかりました。
編集
私のバインド部分は次のとおりです。
私の解決策
これが私の問題を解決した方法です。それが最善の方法かどうかはわかりませんが、あなたの推奨事項について共有します。
私は実際に 2 つのプロパティを使用しました。1 つはバインディングと検証用、もう 1 つはデータベースにデータを保存するためです。
今、それは私が必要としているものとまったく同じです。
あなたのコメントをして、あなたの提案をして、より良い解決策を提供してください.
regex - Unicode を使用した ASP.NET MVC 正規表現の検証は、クライアント側の検証ではサポートされていません
サーバーに必要な名前でファイルを保存するために使用される特定の文字列を検証したいと考えています。
これには、次の REGEX を使用する必要があります。^[\p\w\-. ]+$
これはうまく機能しますが、英語の文字列に対してのみです。
したがって、このように変更しまし^[\p{L}\w\-. ]+$
た{L}
。修飾子は、すべての Unicode 文字を受け入れるように設定されています。
これがビューモデルです。
これはhtmlレンダリングです
しかし、クライアント側の検証は Unicode (ヘブライ語) 文字列を受け入れていません..
これを克服する方法はありますか?
c# - IsValid をオーバーライドする ValidationAttribute のテスト
カスタム検証属性のテストに頭を悩ませています。メソッドのシグネチャは、単体テストでメソッドprotected
を呼び出すときであるため、オブジェクトを渡すことはできません。代わりにベースを呼び出しています。IsValid
Mock<ValidationContext>
virtual bool IsValid(object value)
検証属性
テスト
モックされた検証コンテキストを渡すことができない場合、どうすればこのクラスを適切にテストできますか?
c# - カスタム検証属性を書式設定と組み合わせる
Customer
を検証するメタデータ クラスがありPurchaseDate
ます。
- 最初の注釈 ( ) は、日付部分のみを表示
DataType
するために日付を書式設定するためのものです。EditorFor
- 2 番目の注釈は、カスタム エラー メッセージを含む、値が DateTime であることを確認するためのカスタム検証です。
私の問題は、最初の注釈が2番目の注釈のエラーメッセージをキャンセルすることです。
データ注釈のみを使用してこれら 2 つを結合することは可能ですか? または、日付をフォーマットする必要がありEditorFor
ますか?
を置き換えようとすると、同じ問題が発生[DataType(DataType.Date)]
します
カスタム エラー メッセージが表示されません。
EDIT
私の主な目標は、レンダリングされた入力フィールドに日付部分のみを表示しながら、カスタムエラーメッセージを表示することです。データ注釈のみで可能ですか?
MyDate
属性は次のとおりです。
c# - さまざまな ValidationAttributes をチェックして、論理的な決定を下しますか?
以下を達成したいのですが、不可能のようです:
genericValidation はプログラム (他のクラス) の複数の場所で使用され、各 specificValidation でコピー/貼り付けする必要があるため、両方の検証を融合したくありません。そして、特定はこのクラスにのみ固有であるため、特定と一般を区別しようとしています。
ジェネリックのコンテンツを特定の各検証にコピーして貼り付けることを避けたいです。このジェネリック/特定の「OR」が複数のクラスで発生することを考えると。
これを達成する方法はありますか?