問題タブ [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.

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

asp.net-mvc-3 - ajax で読み込まれた部分ビューのみを検証する

いくつかのコントロールを備えたフォームがあります。部分ビューをロードするボタンがフォームにあります。部分ビュー内には、2 つの必須フィールド テキストボックスとボタンがあります。クリックすると、部分ビュー内にあるテキストボックスに対してのみエラーメッセージを表示する必要がありますが、実際のフォームのフィールドに対しては表示しません。また、フォームの送信ボタンをクリックすると、すべてのエラー メッセージが表示される必要があります。

部分ビューが読み込まれた後、以下のように検証プラグインを再初期化しています。

以下のスレッドで説明されている検証属性を使用してみましたが、機能しません。たぶん、通常ロードされたビューで機能します。

ASP.NET MVC 検証グループ?

ただし、textbox1.valid() と textbox2.valid() を呼び出すことで個別に検証できます。しかし、私はそれを行う標準的な方法が欠けていると思います。どんな助けでも大歓迎です。

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

c# - 選択オプション値の MVC4 検証

私は MVC テクノロジに不慣れで、MVC 4 アプリケーションを使用しており、選択した入力 (月と年) の検証を表示しようとしています。input type="text" の検証を行いましたが、うまくいきました。オプションの選択についてサポートが必要です。これについて助けてください。

景色:

モデル ビュー:

あなたのサポートに感謝します

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

asp.net-mvc - MVC検証の基礎(エンティティフレームワークを使用)

MVC検証の基礎(エンティティフレームワークを使用)

シナリオ:

私は以下のようなモデルクラスを持っています(Entity Framework EF.x DbContext Generatorを介して自動生成されます)。

(現在、ビューモデルはありません)。

強く型付けされたビューで空白のフォームを送信すると、次の検証メッセージが表示されます。

Progressフィールドは必須です。

ValueInContractCurrencyフィールドは必須です。

ForecastStartフィールドは必須です。

ForecastEndフィールドは必須です。

つまり、dbテーブルのすべてのフィールド。

これらを入力して再度送信すると、コントローラーが呼び出されます。その後、IsValidがfalseであるため、コントローラーはビューページに戻ります。

次に、画面が次の検証メッセージとともに再表示されます。

StageIdフィールドは必須です。

DepartmentIdフィールドは必須です。

StatusIdフィールドは必須です。

OwnerIdフィールドは必須です。

つまり、dbテーブルのすべての外部キーフィールド(これらもすべて選択ボックスです)。

これらを入力すると、フォームは正常に送信され、データベースに保存されます。

質問:

  1. [必須]属性を使用していない場合、検証はどこから行われますか?これはエンティティフレームワークと関係がありますか?

  2. フォームがクライアント側ですべてをすぐに検証しないのはなぜですか。外部キー(または選択ボックス)は、空であるため明らかに無効であるにもかかわらず、IsValid()によってのみチェックされるという違いは何ですか?

  3. ユーザーがフォームを2回送信する必要がなく、すべての検証メッセージが一度に表示されるように、すべてを1つのステップ(空のフィールドの場合)で検証するにはどうすればよいですか?クライアント側の検証をオフにする必要がありますか?

([Required]属性を外部キーフィールドに追加しようとしましたが、違いは見られませんでした(おそらく、IsValidにのみ影響します)。Html.EnableClientValidation()も呼び出してみましたが、違いはありませんでした。 )。

4 ..最後に、検証に[MetadataType [MetadataType(typeof(...)]]を使用している人を見てきましたが、ビューモデルがある場合はなぜそうするのですか、そうでない場合のみですか?

明らかに私はここでいくつかの基本を見逃しているので、さらに、属性に関する別のエッセイではなく、MVC検証プロセスがJavaScript /コントローラー呼び出しを含むステップバイステップでどのように正確に機能するかについての詳細なチュートリアルを知っている人がいれば、私は行うことができますそれへのリンクもあります:c)


ミステリーマンの詳細:

次のようなソリューションのセットアップ:

.NET4

MVC3

EF5

EF5.xDbコンテキストジェネレーター

EF.x Dbコンテキストジェネレータファイル(.ttファイル)を関連付けるためにedmxデザインサーフェスで使用される「コード生成アイテムの追加」

コントローラは次のようになります。

ビューは次のようになります。

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

asp.net-mvc-4 - jQueryタイムピッカーとMVC検証-フィールドは日付である必要があります

StartDateモデルに名前が付けられたプロパティがあります。ここから プラグインtimepickerへのアドオンを使用しました。正常に動作していますが、検証エラーメッセージが表示されるという問題があります。検証を変更して、日時に合格するようにするにはどうすればよいですか。jquery.ui

モデルは次のとおりです。

以下はエラーメッセージです

私は主に、MSDNでRickAndersonによって与えられた指示に従っています。

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

asp.net-mvc - ValidationMessageが最初のGETメソッドに表示されています

複雑なタイプの検証やモデルバインディングを行わない単純なGETメソッドでも、ValidationMessageを常に表示するMVC4プロジェクトに取り組んでいます。

唯一はBuildLocationMakeAnnouncementViewModelViewModelを構築し、ModelStateには触れません。

それから私が持っているビューで:

放出するもの:

ModelStateを出力すると、エラーがないことがわかります

エラーがないのにValidatioMessageが出力するのはなぜですか?

助言がありますか?

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

asp.net-mvc - データベースチェックを行うMVCクライアント側の検証

MVCでクライアント側の検証を介して「データベース」チェックを実行する方法はありますか?

私は次のクラスを持っています

クライアント側の検証で、「checkemail」javascript関数で通常のjavascriptチェックを実行するだけでなく、「IsValid」メソッドをonkeyup /lostfocusでも呼び出すようにしたいと思います。

私が持っているjavascript関数は次のとおりです。

誰かが私を正しい方向に導いたり、似たようなもののチュートリアルを提供したりしていただければ幸いです。

ありがとう

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

asp.net-mvc - JavaScriptを無効にして検証エラーメッセージでUIを更新するには?

私はフォームを持っています:

モデル:

コントローラ:

javascript が無効になっている場合、エラー メッセージを表示し、名前テキスト ボックスの CSS スタイルを変更するにはどうすればよいですか?

私が理解したように:

うまくいきませんか?

出力 HTML では、によって生成されたスパンを見ることができますが、このラベルを非表示ValidatorMessageForにする css クラスがあります。btn-group

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

c# - 動的ページでのASP.NETMVC2検証

複数のページがあるasp.netmvc2アプリケーションに登録ウィザードがあります。最初のページには、プロセスに関係する人の基本的なデータ形式が必要です。名、姓、住所のラベルが付いた3つのテキストボックスと、「別の人を追加」というテキストの付いた1つのチェックボックスが必要です。ユーザーがラジオボタンをクリックすると、新しいテキストボックスが新しいラジオボタンとともに表示されるため、同じフォームに複数の人を追加できます。理論的には、できるだけ多くの人を挿入できるはずです。すべてのフィールドは必須なので、ページ上部の検証の概要には、「2人目の名前を入力してください」などのように表示する必要があります。私はDTOクラスを持っています:

そして、このページのモデルはそうあるべきだList<Person>と思います。そして、javascript/jQueryを使って新しい人のためにhtmlを追加します。ここで私を助けてください、この動的ページをどのように検証する必要がありますか?[保存]ボタンと[戻る]ボタンを使用してこのウィザードを実行できます。また、ページ上のラジオボタンのクリックを解除できるはずです。その特定の人が消え、バリデーターがそれをキャッチしなくなります。ウィザード全体でサーバー側の検証(DataAnnotations)を使用していますが、クライアントの検証は使用しません。前もって感謝します。

アップデート:

もう少し助けが必要です。新しいプロパティでPersonクラスを拡張したい:

の各Personsのすべてのパーセントの合計がIEnumerable<Person>100に等しい場合、送信時にサーバー検証が必要です。これとその方法のカスタム属性を作成できますか?私のモデルはジェネリックリストですが、適用できません[CustomAttribute]よね?
また、各入力の直後ではなく、ページの上部に検証の概要を表示する必要があります。私が置いた:<%:Html.ValidationSummary(false, "Please correct the following and resubmit the page:")%>人ごとに異なる検証メッセージを設定する方法はありますか?ありがとう

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

.net - ASP.NET MVC 2 リストモデルの検証

MVC 2 アプリケーションに取り組んでいますが、問題があります。私のコードは次のようになります。

およびクラス ユーザー

カスタム属性 (DataAnnotation) を作成して、フォームの投稿時に IEnumerable ユーザーの給与の合計が 10000 未満かどうかを検証したいですか? 私のモデルはリストなので、ここでそれを行うことはできますか?

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

c# - リスト内の重複をチェックするより良い方法

検証属性を使用して、ビューからコントローラーにオブジェクトのリストを投稿しているときに、重複があるかどうかを確認しています。それは機能しますが、従うべきより良いアプローチがあるかどうかを知りたいです(クライアント側の検証を追加する可能性があります)。フィードバックをいただければ幸いです。