問題タブ [modelstate]

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

c# - modelstateエラーをリストに追加するにはどうすればよいですか

次のようなモデルアイテムのリストを使用するビューがあります。

このリストをサーバーサイドで取得するとき、これが1つのタイプのアイテムであるかどうかを確認します。これには、有効なシリアル番号が必要です。別のタイプの場合は、ユーザーが「選択済み」チェックボックスにチェックマークを付けているかどうかを確認します。これらの両方が失敗した場合、この行にmodelstateエラーを追加したいと思います。これを行うための最良の方法は何ですか?

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

entity-framework - デスクトップ アプリケーションで DataAnnotations を使用する方法

EF(fe) viaを使用している場合、メタデータを渡すことができるかどうかを検出するためにMVC使用できます。しかし、デスクトップ (win-forms / wpf) アプリケーションでメタデータを使用するにはどうすればよいですか?ModelState.IsValidmodelDataAnnotationsDataAnnotations

もっと:

ModelState実際、私は(それぞれに関連付けられたプロパティとメッセージを保存できる辞書)と同じオブジェクトを作成したいと考えています。次に、 を でラップし、DALメタvalidation-layerデータVLを使用してモデルを検証し、VLを任意のプロジェクトで使用できるようにします。リフレクターを使用する必要があることは知っていますが、経験がありません。ヘルプと提案に感謝します。

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

asp.net-mvc-3 - フィールド ID が必要です。MVC3、ModelStat.IsValid false エラーを介して新しいオブジェクトを追加しようとするとエラーが発生しますか?

私はこのViewModelを持っています:

私が持っているビューで:

それを使用してデータベースからオブジェクトを更新すると、コントローラーのアクションは正常に機能します。

しかし、新しいオブジェクトを追加しようとするModelState.IsValidと、KlijentID が必要であると言って失敗します。 ErrorMessage:"The KlijentID field is required."

確認しましたが、新しいオブジェクトの場合は 0 に設定されています。ここで何が問題なのですか?

更新:Application_StartこれをGlobal.asax に追加しようとしました

その結果、まだ検証エラーが発生します。今は次のように表示されています。 ErrorMessage: "A value is required."

これは少し奇妙になってきています。その値が本当に悪いことを望んでいるようです。マシンに幽霊?

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

asp.net-mvc-3 - MVC3で@Html.HiddenForを使用する

私はたくさんの問題を抱えています。MVCは私を嫌っていると思います。

1日 私はLinqを使用しており、モデルは自動的に生成されます。[必須]タグ/ディレクティブを使用して、必要なプロパティを完了しました。

2位。2つのモデルを結合する「ビッグモデル」があります。ここで説明されているように->ビュー内の複数のモデル


nullのようなプロパティを持つモデルでビューをポストバックしようとすると、ModelState.isvalid==falseになります。モデルが必要とするいくつかのプロパティに[必須]を設定したので、それは明らかだと思います。そして、ここに私をここに連れてきたものが来ます。

3位。@ Html.HiddenFor(...)を使用しようとすると、ページがポストバックされません。たとえば、3 HiddenForを使用すると、ページはPostBackを実行しますが、10 HiddenForを使用すると、ページは静止します。どこにも行きません。

私は自分の知識の範囲内ですべてをやろうとしました(非常に限られており、MVCは本当に新しいです)。

  • これらのプロパティを表示して、「詳細ビュー」のように表示しようとしました。成功しませんでした。
  • @HiddenFor(model => model.Client)を設定しようとしました。アクションではnullとして渡されます。
  • 私はこれらの大量のHiddenForを使おうとしました。
  • 非表示のID(ClientID)だけを渡してデータベースからオブジェクトを取得しようとしましたが、ModelStateはアクション内でそのステータスを「更新」しません。

なぜ私はこれをしているのですか?これを行うのは、ボックスが入力されていないときに「必須フィールドメッセージ」を表示するページが必要であり、データなしでページをポストバックすることを禁止しているためです。私のデータベースは問題なく、これらのフィールドは「nullではない」ので、プロパティから[Required]を削除するだけで済みますが、「Required FieldMessage」(PostBackに加えて私が避けようとしています)。

誰かが答えや答えなどを持っているなら、それを投稿してください...私はxDから頭を撃ちます

前もって感謝します...

PS:私の英語について申し訳ありません...私はそれが良くない(あるいは定期的でさえない)ことを知っています。


意見

コントローラ


編集2:

私はまだコードに触れています、そして私がコメントするとき

「PrecioVenta」がdecimal(18,2)の場合、ページはポストバックします...その値を残しているため、明らかにModelState.isValid==falseを取得しています。

私に何ができる?

「HiddenFor」のプリミティブ型はどれが機能しますか?または、そのデータ型を適切に「マッピング」できない.Net Frameworkの一部がありますか?

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

model-view-controller - HttpRequestValidationException を処理し、AddModelError を使用して意味のあるエラーを返すにはどうすればよいですか?

HttpRequestValidationExceptions (たとえば、html がフォーム フィールドに挿入されたとき)を処理し、送信後にユーザーをページに戻し、問題を強調する意味のあるエラーを表示したいと考えています。

たとえば、ログイン ページで、ユーザーがユーザー名フィールドに無効な文字を入力した場合、HttpRequestValidationExceptionをキャッチし、ユーザー名フィールドが強調表示された状態でユーザーをログイン ページに戻したいと考えています。

OnExceptionメソッドを使用して、HandleErrorAttributeから継承するクラスでエラーをキャッチできます。

ここから (または他の方法で) Controller * ModelState * を取得してエラーを追加する方法はありますか?

注: 検証をオフにしたり、エラー ページにリダイレクトしたりしたくありません。

例えば:

あなたが私に与えることができる助けを前もって感謝します!

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

asp.net-mvc - モデル状態エラーを追加し、アクションにリダイレクトした後に検証します

ModelStateMVC3 の検証エラー メッセージについて質問があります。登録ビューに、Model オブジェクトから@Html.ValidationSummary(false)のエラー メッセージが表示されます。DataAnnotationsそれから..私の登録アクションコントローラーにはがありますがModelState.IsValid、その中if(ModelState.IsValid)にモデル状態に追加する別のエラーコントロールがModelState.AddModelError(string.Empty, "error...")あり、次に を実行しRedirectToActionますが、に追加されたメッセージModelStateはまったく表示されません。

なぜこれが起こっているのですか?

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

asp.net - MVC3 リモート検証

現在、選択したユーザー名が既に存在する場合にユーザーに警告されるように、MVC3 を使用してリモート検証をセットアップしています。最も重要な部分を除いて、すべてがセットアップされ、正しく機能しており、エラーメッセージは表示されていません。フォームを送信すると、関連するモデル状態エラーが追加されてページが更新されると、エラー メッセージが表示されます。

Jsonの結果でモデル検証の概要を更新する方法はありますか?

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

c# - ValidationSummaryが部分ビューで表示されない

私はこの問題を抱えています:

次のようなページに移動します。

これにより、このアクションメソッドが呼び出されます。

このメソッドの特定の行は次のとおりです。

このビューには次の行が含まれています。

このアクションメソッドを呼び出すもの:

ここまでは順調ですね?

これで、BidOnAuctionビューにフォームがあり、ボタンがあります。このボタンをクリックすると、次のアクションメソッドが呼び出されます。

このアクションメソッドには、次の行を含むcatchステートメントがあります。

これで、DetailsLUBビューとBidOnActionビューの両方に次の行が含まれます。

@ Html.ValidationSummary(true)

しかし、問題は、画面に何も印刷されないことです。私は何が間違っているのですか?

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

asp.net - コントローラー アクションから ModelState を true に設定する方法

ModelState.IsValid が readOnly であることがわかっているためModelState = true;、コントローラー アクションから asp.net MVC に設定する方法。
getter のみを保持するため、このように modelState を強制的に true にすることはできません では、modelsatate.isvalid を true
ModelState.Isvalid = true; //what we can't do

に設定する正しい方法を教えてください