問題タブ [fluentvalidation]
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-3 - MVC HtmlHelper vs FluentValidation 3.1: ModelMetadata IsRequired を取得する際の問題
関連するフィールドが必要な場合、そのラベルの名前の後に星を付けるラベルの HtmlHelper を作成しました。
ViewModel のプロパティで DataAnnotations を使用して [Required] をスラップすると、プライベート LabelHelper の metadata.IsRequired は True に等しくなり、すべてが意図したとおりに機能します。
ただし、FluentValidation 3.1 を使用して、次のような単純なルールを追加すると:
... 私の LabelHelper メタデータでは、IsRequired が誤って false に設定されます。(ただし、バリデーターは機能します。空のフィールドを送信することはできず、電子メールのようなものである必要があります)。
残りのメタデータは正しいように見えます (例: metadata.DisplayName = "Email")。
理論的には、Rule .NotNull() が使用されている場合、FluentValidator はプロパティで RequiredAttribute を平手打ちします。
参考までに:私のViewModel:
私のコントローラー:
どんな助けでも大歓迎です。
asp.net-mvc-3 - FluentValidator で DateTime を検証する
これは私のViewModelクラスです:
CreatePerson.cshtml
CreatePersonValidator.cs
無効な日付形式で個人を作成しようとすると:
観察
私の CreatePersonModel クラスのように、DateBirth
プロパティはDateTime
型であり、asp.net MVC の検証が行われました。
しかし、 FluentValidation を使用してエラー メッセージをカスタマイズしたいと考えています。
次のようなさまざまな理由で、プロパティのタイプを変更したくありません。
クラスではCreatePersonValidator.cs
、検証とは日付が過去のものかどうかを確認することです。
質問
DataAnnotations を使用せずに (FluentValidator を使用して)エラー メッセージをカスタマイズする方法。
asp.net-mvc-3 - ASP.NET MVC3FluentValidationコンストラクターがリクエストごとに複数回ヒット
流暢な検証とninjectを使用してASP.NETMVC3Webサイトをセットアップしています。検証コードは機能しています。ただし、検証クラスコンストラクターにブレークポイントを設定し、検証を使用するビューを要求すると、コンストラクターが複数回ヒットすることに気付きました。非常に基本的なテストに基づくと、コンストラクターがヒットする回数は、オブジェクトに存在するプロパティの数に等しいようです。他の誰かが似たようなものに出くわしたことがありますか?または、このタイプの検証が舞台裏でどのように機能するかについて、誰かがより多くの洞察を得ることができますか?-ありがとう
これがコンストラクターです...
これが私が使用しているライブラリ/リソースです(NuGetパッケージを入手し、以下の2つのリンクからの情報に基づいてすべてを構成しました):
http://fluentvalidation.codeplex.com/wikipage?title=mvc https://github.com/ninject/ninject.web.mvc.fluentvalidation
c# - 流暢な検証。拡張メソッドが見つかりません
プロジェクトに FluentValidation アセンブリ参照を追加しました。単純なバリデータを書いている間、まったく問題はありませんでした。コレクションバリデータを書き込もうとしたときに問題が発生しました。拡張メソッドVisualStudio
が表示されません。SetCollectionValidator
また、インテリセンス スニペット内には表示されません。を含めることを忘れていませんでしたusing FlentValidation
。
編集
インテリセンスのヒントがないにもかかわらず、同じコードが SharpDevelop プロジェクトでビルドされます。
私は何を間違っていますか?ありがとう。
asp.net-mvc - FluentValidation 使用時の ViewModel へのドメイン モデル検証エラーのマッピング
ここの人々がこれを適切に行う方法についていくつかのアイデアを提供してくれることを願っています.
現在、画面のレンダリングに使用する ViewModel があります。ビュー モデルには、実際にはいくつかのドメイン モデルのフラット化されたデータが含まれています。基本的な検証を行う属性で ViewModel を装飾しましたが、実際の検証作業はサービス レイヤーで行われます。この問題は、サービス層で検証エラーが発生した場合に発生します。プロパティの名前 (つまり、UserName) が ModelState のエントリ (つまり、RegistrationViewModel.UserName) と一致しません。
これを処理する方法についての推奨事項はありますか?
前もって感謝します!
スティーブン
asp.net-mvc-3 - 各ページの「ViewModel」(「Create.cshtml」と「Edit.cshtml」)?
質問
実際には、関連する 2 つの質問があります。
- ページごとに ViewModel を作成する必要がありますか?
Create.cshtml
2 つのページ (および )に対して単一の ViewModel クラスを作成することに問題がない場合Edit.cshtml
、ViewModel をさまざまな方法で検証するにはどうすればよいですか (使用されているページによって異なります)。
ソース
ビューモデル
Edit.cshtml
作成.cshtml
ProjectValidator.cs
ユーザーが既存のプロジェクトを編集している場合、プロパティの検証をname
再度行うべきではないことに注意してください。
ProjectController.cs > Edit メソッド
ノート
ページごとに ViewModel を作成すると、ページのプロパティが同じであるため、コードが重複します。
ViewModel にどのページが表示されているかを示すプロパティを追加しても、ViewModel のインスタンス化に関する問題は解決しません。AutoMapper を使用します。
データを検証するには、FluentValidatorを使用します。
ご協力ありがとうございました!
asp.net-mvc - 検証中のオブジェクトに基づくカスタム プロパティ名
私は次のクラスを持っています。たとえば、それらは少し単純化されています。
アクションで SuspendLinesVM を受け取り、すべての回線がクライアントから動的に作成されます。フォーム内の具体的な LineInfo に属する各要素には、テンプレート ' lineid{Id}_ElementName ' を使用した名前があります。したがって、それらは次のような形式で私に届きます。
lineid0001_LineNumber
lineid0001_SubAccountNumer
lineid0001_MobileNumber
lineid0021_LineNumber
lineid0021_SubAccountNumer
lineid0021_MobileNumber
検証中に何らかのエラーが発生した場合、失敗したプロパティを設定する方法が必要です。これは、ビューで無効なフィールドを強調表示する要求があったためです。
混乱したところに質問を残しました。
*(instance, propertyName) => return string.format('lineid_{0}_{1}', instance.Id, propertyName)* のような方法が必要です。
何か案は ?
asp.net-mvc - FluentValidationはチェックボックスを実行できますか?
FluentValidationを使用してMVCフォームの入力を検証しています。
チェックボックスがあります。
検証ルールを何に設定しても、チェックボックスは検証されません。
同じページで正常に検証するドロップダウンリストがあるため、検証が機能していることはわかっています。
意見
モデル
私はもう試した
どれも機能しません。私はこの仕事をしようとしてバナナに行きます。これはF***ingチェックボックスです
PS:代わりにjQueryの使用について話しているスレッドを見つけましたが、これはクライアント側ではなくサーバー側の検証を使用しています。