問題タブ [asp.net-mvc-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.
asp.net-mvc-3 - MVC3ViewModelのプロパティであるリストのTextBox入力を検証しています
パーティーに少し遅れていることに気づきましたが...私は最初のMVCプロジェクトで作業しており、実行する必要のあることのほとんどを処理することができました。プロジェクトのほとんどは、単にデータを読み取り、データをグラフに送り込みます。ただし、モデルが次のようになっているビューが1つあります(親クラスのプロパティはここでは重要ではありません)。
ChildClassは次のようになります。
現在、データの取得は問題ではありません。リストをループして、次のように編集するためのテーブルを作成できます。
過去数日間このサイトを巡回した後、POSTメソッド(フォームの下部に[保存]ボタンがあります)でサーバー側の入力を検証できることに気づきましたが、( a)検証エラーメッセージをユーザーに返すにはどうすればよいですか?(b)検証クライアント側を実行しますか?
また、このビューは、テーブルとしてレンダリングされる前に、リスト内の値を使用してグラフの一部を作成することにも言及する必要があります。
asp.net-mvc - さまざまなコントローラー アクションと ModelState からの HTTP Post 要求
現在の進行状況をブロックする ASP.NET MVC 3 アプリケーションで奇妙なニーズがあります。これがケースです:
製品用の小さな検索エンジンがあり、この検索エンジンを複数のページに表示しています。product
この SE は、コントローラーのsearch
アクションに対して HTTP POST 要求を行います。ここまでは大丈夫。
私がhome
コントローラーのindex
アクション(/home/index)にいると仮定しましょう。検索して確認しますModelState.IsValid
。その結果、有効ではありません。そのため、入力されたモデル (ユーザーが値を失わないようにするため) とモデル状態エラーと共にこれを返す必要があります。しかし、それを行うと、予想どおり別の URL (/product/search) になりました。
リダイレクトを行うと、ModelState
エラー メッセージが失われ、表示できません。
これまでにさまざまなソリューションがあり、それらはすべて汚れているように見えます。何か案が?
編集
これを示す小さなプロジェクトを次に示します。
これは次のProductController
とおりです。
これは次のSearchModel
とおりです。
これは *_SearchPartial* です:
最後に、これは*_SearchPartial* をレンダリングするHome
コントローラーアクション ビューです。Index
Product
ここで、フォームを送信してモデルの状態が失敗した場合、コントローラーのSearch
アクションをどのように進めればよいでしょうか?
asp.net-mvc - ModelState.IsValid=無効なモデルの場合はtrue
非常に単純なオブジェクトを追加するためのビューがあります。
私はこのようなコントローラーを作りました:
モデルはデータベーススキーマから(edmxの一部として)生成されています。フィールド名のnull許容プロパティはfalseに設定されています。
何らかの方法で、空白の入力「名前」の場合、ModelState.IsValidプロパティはtrueであり、それを保存しようとしています(SaveChanges()では、検証エラーでクラッシュします)。なんで?
asp.net-mvc - Asp.Net MVC:ActionFilterAttributeOnActionExecutingからモデルプロパティを入力します
ここで説明するように、Webサイトでパスワードを紛失した場合のキャプチャコントロールを実装しています
しかし、私は`に非常に不快感を覚えます
filterContext.ActionParameters ["captchaValid"] = recaptchaResponse.IsValid;
なぜなら:
- バリデーターを使用して、強く型付けされたビューがあります
- この文字列フィールドを覚えずにプロパティ名を変更する日は、機能しません。
そこで、コントローラーアクションにこのデータが必要になるため、、ActionFilterAttribute
のモデルの属性を編集する方法を検索しました。OnActionExecuting
これを見つけましたが、アクションを実行する前にモデルを設定する必要があるため、機能しません。
そこで、モデルバインダーが読み取る「Post変数」を追加できると思いましたfilterContext.HttpContext.Request.Form
が、読み取り専用モードのようです。
では、どのようにして結果をモデルに入れることができると思いますか?
例えば:MyModel.IsCaptchaValid = recaptchaResponse.IsValid;
プロパティフィールドを指定することを避けられない場合のイベント、それは今よりも良いです:
asp.net-mvc-3 - サーバー側エラーのValidationSummaryが機能していません
クライアント側の検証とValidationSummaryは私のプロジェクト(MVC4 + Razor + Unobtrusive JS)で正常に機能していますが、サーバー側のエラーはビューに表示されず、クライアント側のエラーがあった場合、ビューから削除されません( ModelStateから)。Chrome14とIE9の両方で試しました
サーバー側のエラーは、としてモデルに追加されModelState.AddModelError(string.Empty, ModelState.AllErrors());
、ビューにとして表示され@Html.ValidationSummary(false)
ます。
編集
単純なフォーム送信は正常に機能しており、サーバーから返された複数のエラーメッセージが表示され、エラーメッセージが更新されますが、ajaxベースのフォーム送信が機能していません。ajaxベースのフォーム送信によって返されたエラーメッセージはまったく表示されません。
これは、リクエストがどのように行われるかのサンプルデモンストレーションです
ActionToAddRecordは、マスターモデルに含まれるモデルを表す部分ビューです。
エラーは次のように返されます
編集
VS2010によるテンプレート化されたMVCアプリケーション、ダイアログベースのログインフォームでも同様の機能が見られました。エラーメッセージはJsonとして返され、JSを使用して表示されます。IMOは、MSがAjaxベースのリクエストを非常に簡単かつ簡潔に作成したようです(Ajax.BeginForm
)が、エラー処理の部分がありません。今のところ、これにJSを使用するつもりはありません。このタイプのエラー処理を自動的に処理するための、より良い方法があるかもしれません。
asp.net - MVC validationSummary が機能していません
MVC で奇妙な問題が発生しています。ASP.Net MVC を使用しています。ユーザーのレビューの詳細を DB に投稿する部分ビューを作成しました。検証目的で、[送信] ボタンをクリックする"jquery.validate.min.js"
と"jquery.validate.unobtrusive.min.js"
、テキスト ボックスの輪郭が表示され、必須の値を指定していないことを示す赤色で塗りつぶされますが、検証の概要が空白で表示されます
<%: Html.ValidationSummary(true)%>
。 validationsummary も機能していません。また、ページングのあるグリッドも表示しているため、このページは IPagedList にバインドされていますが、それは問題ではないと思います。テキスト ボックスが赤い色で囲まれている場合でも、検証の概要にメッセージが表示されない理由がわかりません。
asp.net-mvc - 電子メールが無効な場合にのみエラーメッセージを表示する
私はASPMVC3で働いています。顧客の連絡先情報を入力するためのモデルがあります。情報が必要です。ビュースタットが有効でない場合、テキストボックスには赤い境界線が必要です(これは機能します)。エラーメッセージはありません。ただし、emailinputが無効な場合、エラーはビューに表示される必要があります。したがって、emailannotationのエラーメッセージのみが表示され、requiredannotationのエラーメッセージは表示されない必要があります。私はこれを行う方法がわかりません。
モデル:
見る:
c# - Null 許容フィールド用に作成される自動生成バリデーター
ローカライズが必要な MVC 3 アプリケーションがあります。私の整数の場合、MVCは自動的に数値検証を追加しますが、フィールドをnull可能としてマークしました。
これは私のViewModelにあります:
これは私のモデルにあります:
MVC がこの検証を null 非許容フィールドに対してのみ追加することを読みましたが、私の場合は null 許容フィールドに対しても実行しています。
その理由は何ですか?
実際、私のアプリケーションでは、すべての検証メッセージを多言語にする必要があるため、これらのメッセージを db から取得するカスタム バリデータを作成する必要があります。しかし、MVC の自動生成されたバリデーターは私のバリデーターよりも優先され、しかも英語のみです。
asp.net - Asp.netMVC2のコレクションアイテムに検証を適用する方法
コレクションアイテムを表すコントロール(入力ボックス)を保持する、強く型付けされたビューがあります。したがって、例として、従業員の詳細を追加するためのビューの場合を考えてみましょう。その中に、部門名を入力するための入力フィールドの変数セットがあります。これらの入力フィールドは、クライアント側で動的に追加されます。
これら2つのエンティティのクラス構造は次のとおりです。
部門名の入力は動的に生成され、投稿後にモデルのバインドを実現する方法で名前が設定されます
今私の質問は、これに検証をどのように適用すべきかということです。Microsoft Validationは、mvcClientValidationMetadata内に検証をプッシュしません。これは、ビューの読み込み時にフレームワークがモデルのバインドを認識しないためだと思います。
何か案は ??
json - MVC 3 プロジェクトで JsonResult によって返された ModelState エラーを表示しますか?
ActionResult の代わりに JsonResult アクションを使用する作成ページがあります。ActionResult アクションでは、問題のあるフィールドの横のビューにエラーが表示されます。現在、JsonResult はアラート ボックスに表示される文字列のみを返します。
ビューに ModelState エラーを表示できますか?
コントローラー
ビュー内のjquery/javascriptコード