問題タブ [model-validation]

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 投票する
4 に答える
46882 参照

c# - asp.net mvc 2で整数モデルの検証を行う方法

登録フォームがあり、ユーザーは家の面積を入力する必要があります。この値は整数のみにしたいと思います。属性asp.net mvcを使用してこの値を検証する方法はありますか?

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

asp.net-mvc-2 - ASP.Net MVC 2 モデルの検証正規表現バリデーターが失敗する

Model Metadata クラスに次のプロパティがあります。

しかし、正規表現が検証されていないため、呼び出すたびにModelState.IsValid常に false が返されます。同じパターンを使用して、入力した日付 (2010 年 8 月 29 日) を新しい正規表現と照合したところ、完全に一致しました。

私は何を間違っていますか?

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

asp.net-mvc-2 - ASP.NET MVC で複数のフォーム検証を処理する最良の方法

概要

ユーザーがクレジットカードまたは小切手のいずれかの支払い方法を選択できる支払いページがあります。これらの支払い方法ごとにフォームがあります。UI の目的でこれらのメソッドごとに個別のページを作成したくなかったので、フォームごとに [div] を使用し、jQuery で表示を切り替えます。

問題

各支払い方法には、独自の検証ルールのセットがあります。ユーザーが選択して送信した支払い方法のみにモデルの検証を適用できるようにしたいと考えています。検証を行うには、同じコントローラー アクションに POST する必要があるため、別のアクションに送信することはできません。

アプローチ

次のアプローチを検討しました。

  1. http://blog.stevensanderson.com/2010/02/19/partial-validation-in-aspnet-mvc-2/で説明されているように、着信値に基づく部分検証。このアプローチに関する私の問題は、セキュリティへの影響です。これは比較的小さなアプリであるため、記事の著者が示唆しているように、別のドメイン レイヤーはありません。
  2. 支払い方法ごとに個別のモデルを作成し、コントローラーの [HttpPost] アクションを別のモデル パラメーターでオーバーロードします。私はこれを試しましたが、このようなものがあっても、コンパイラはアクションがあいまいであると不平を言います

    [HttpPost]
    public ActionResult Pay(CreditCardPaymentModel モデル) {...}

    [HttpPost]
    public ActionResult Pay(CheckPaymentModel モデル) {...}

  3. 個別のコントローラー アクションを使用して個々のフォーム投稿を処理し、TempData を使用して検証メッセージを設定し、フォーム ページにリダイレクトしてメッセージを表示します。私はこのオプションが不格好に感じられるので本当に好きではありません。また、単純なメッセージ以外に TempData を使用するのも好きではありません。

このような状況をクリーンかつ効率的に処理するための最善の方法についての提案を歓迎します.

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

django - django多対多検証

以下のコードをご覧ください。基本的に、ユーザーがこのクラスのオブジェクトを作成するときは、を指定する必要がありますvalue_type。If value_type==2(percentage)、then percentage_calculated_on(これは、フォーム/テンプレート側のCheckboxSelectMultipleで、1つ以上の項目をチェックする必要があります。モデルの検証では、私が試みているように検証できません。基本的に、次のような例外がスローされます。多対多の関係を使用するには、インスタンスに主キー値が必要であるとのことですが、保存する前にまずオブジェクトを検証する必要があります。この検証をフォーム(モデルフォーム)側で試しました(フォームのクリーンな方法)ですが、同じことがそこでも起こります。

この検証を達成するにはどうすればよいですか?

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

asp.net-mvc - ASP.NETMVC2アプリケーションのカスタム検証ルール

アプリケーションに検証を追加しようとしています。情報をデータベースに書き込む前に確認する必要のあるルールがいくつかあります。モデルに基本的なデータ検証を追加しましたが、一方のフィールドに特定の値がある場合は、このもう一方のフィールドが必須であることも確認する必要があります。かつてasp.netのNerdDinnerチュートリアルでそれをカバーし、過去に検証に使用しましたが、現在はそれや他の例を見つけることができません。これが私のモデルです:

私のコントローラー:

ModelState.IsValidのコードIsValidは実行され、。を返しますが、はfalseに設定されていませんRuleViolation。だから私は手動でIsValidそれが戻ることを確認しますfalse。ビューに戻ると、エラーメッセージが表示されません。何が欠けているのでしょうか?ビューのスニペットを次に示します。

Create.aspx

RequestEditor.ascx

RequestedDayRow.ascx

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

ruby-on-rails - 検証成功後のデータ変換

データベースに同じ形式で格納できるように、UPC 文字列コードを正規化するのに少し問題があります。

私はean宝石を使用して文字列が適切かどうかを確認しています (これは正常に機能しています) が、検証後に次のような割り当てコードをスローすると:

strip 呼び出しは文字列であるため、単なる例です。私は実際にupcのダッシュを削除します。

上記のコードは、実際には保存されないため、うまく機能しません。私は次のようなメソッドをトリガーすることを見ました

..しかし、上記も機能しません。

検証後にデータを検証して変換するために、皆さんは何をしていますか?

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

asp.net-mvc-2 - ASP.NET MVC 2: モデルを渡し、2 ページ目の検証を防止する

これは私のセットアップです:

モデル => View1 => モデルの検証

Model => View2 => Validation を無視して Model を渡す必要があります

モデルからのViewData => View3

ご覧のとおり、ビューからビューにモデルを渡そうとしています。ただし、View2 が投稿されると、Model は Validate を要求しますが、View1 のフォーム要素が View2 に存在しなくなるため、問題が発生します。

そのモデルを 2 回検証しないようにコントローラーに指示する方法はありますか?

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

asp.net-mvc - 複数の部分ビューに分割されたASP.NETMVCモデル

オブジェクトの複数のカテゴリの詳細が保存されているMVC3RazorWebアプリを開発しています。(車両、住宅、楽器など)。すべてのオブジェクトは、いくつかの共通データ(タイトル、説明など)と、それが属するカテゴリに固有の詳細を共有します。カテゴリリストは拡大すると予想され、保守性の低下を考慮して、同じオブジェクトの追加ウィザードを再利用したいと考えています。ウィザードは、次の実装に基づいています。

http://afana.me/post/create-wizard-in-aspnet-mvc-3.aspx

マルチステップウィザードプロセスでは、最後のステップで、ユーザーはカテゴリ固有の詳細(車両のモデル、メーカー、VINなど)を入力できます。現在、私はこの最後のステップをAJAXを使用した部分ビューとして想定しています。したがって、実際には、特定のカテゴリを反映する複数の部分ビューがありますが、ウィザードコードの残りの部分は共有されます。

私の汎用モデルオブジェクトは次のようなものです

複雑なプロパティAssetDetailsは、各タイプの部分ビューで表されます。したがって、PartialView "MotorDetails"には、以下のように宣言されているMotorAsset型の強く型付けされたモデルが含まれます。

実際の検証は非常に複雑ですが、理解しやすいようにこれらを省略しました。

メインウィザードページは次のように宣言されています

としてのモーター部分ビュー

私の質問は、最後のステップがビューページではなく部分ビューにあるため、このシナリオでモデルの検証をどのように実行できるか(または使用できるか)です。

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

asp.net-mvc - ASP.NET MVC 動的ビュー

数日前にこの質問の背景を投稿しました..しかし、答えはまだ不完全であるため、要約を付けて再投稿します。

オブジェクトの複数のカテゴリの詳細が格納されている MVC 3 Razor Web アプリを開発しています。(車両、住宅、楽器など) . すべてのオブジェクトは、いくつかの共通データ (タイトル、説明など) と、それが属するカテゴリに固有の詳細を共有します。カテゴリ リストは拡大することが予想され、保守性を低下させることを考慮して、同じ [オブジェクトの追加] ウィザードを再利用したいと考えています。ウィザードは、次の実装に基づいています。

http://afana.me/post/create-wizard-in-aspnet-mvc-3.aspx

複数ステップのウィザード プロセスでは、最後のステップで、ユーザーはカテゴリ固有の詳細 (車両のモデル、メーカー、VIN など) を入力できます。ビュー ページは、次のように定義される「AssetView」モデルにバインドされます。

AssetDetails プロパティは、前の段階で選択されたカテゴリ タイプに従って実行時に動的に変更されます。ビューは次のようになります

コントローラで、カテゴリの選択に基づいて。次のようにアセットの詳細を初期化します

次に、タイプ固有のエディター テンプレートでビューをオーバーライドします。

ウィザードは正常に動作しますが、コントローラーの保存ステップで、「AssetDetails」プロパティに値がなく、基本タイプである「SpecificAsset」タイプであることが示されます。特定のタイプにもキャストできません。ただし、formsCollection にはすべての値が表示されます。「Transmission」、「Make」などの「AssetDetails」固有のプロパティは、「AssetDetails_」で始まるフォーム コレクションにあります。

コントローラーの保存ステップで 20 種類以上の特定のカテゴリ (モーター、ハウスなど) を処理する必要があることを念頭に置いて、何らかのハックなしでこれを行うにはどうすればよいですか?

0 投票する
7 に答える
59881 参照

c# - List の ViewModel 検証

次のビューモデル定義があります

したがって、私のアプリケーションでは、アクセス要求に対して少なくとも 1 人が必要です。検証にはどのようなアプローチを使用できますか? この検証をコントローラーで行うのは簡単でありたくありません。唯一の選択肢はカスタム検証属性ですか?

編集:現在、この検証を FluentValidation で実行しています (素敵なライブラリ!)