問題タブ [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 に答える
736 参照

asp.net-mvc - ASP.NET MVC 2検証:Metadatatypeを標準のPOCO CLRクラスに追加することはできません-代替手段は何ですか?

私はEntityFrameworkを使用しており、T4を介してPOCOクラスを生成しています-これらのクラスは何も継承せず、非常に単純で単純です(vs 2010でテンプレートを介して作成されました)

バディクラスを作成できるようにMetadatatype属性を使用しようとしましたが、これを実行すると、プロパティを表示できなくなりました...属性を削除すると!プロパティが表示されました。

とにかく、もっと深く検索すると、Microsoftからのこのステートメントが見つかりました

それで、それは機能しないように見えますか?とにかく、データ注釈をモデル自体に挿入するのは非常に困難です。データ注釈はT4を介して作成されているため、編集してからツールを再実行すると、すべての変更が削除されます。

誰かがこれを機能させることができましたか?

私は本当に苦労しています。

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

asp.net-mvc - asp.net mvc 関連の null 許容エンティティ

Model.IsValid に問題があります。これに似たモデルを作成しようとしています...

記事のカテゴリを null にできるようにしたいと思います。ただし、Category が null の場合、Model.IsValid は常に false です。

どんな助けでも感謝します。

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

asp.net-mvc - ドロップダウンリストを検証してヘルプを表示する

このコードを機能させることができませんでした。フォームを送信しても、検証エラー メッセージが表示されません。

ビューモデル

作成.aspx

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

asp.net-mvc - ASP.NET MVC3 のデータベースから入力されたドロップダウンリストを検証する方法は?

Person と Nationality の 2 つのテーブルがあります。Person は NationalityID を介して Nationality テーブルへの FK を持っています。Create Person フォームには、NationalityID と NationalityDescription が入力されたドロップダウンがあります。このドロップダウンを検証して、開発者ツールバーなどを使用して投稿された値を無効な NationalityID に変更する人々に対処する最良の方法は何ですか? ビューモデルで System.DataAnnotations.AssociationAttribute を使用することを検討してきましたが、これが必要かどうかはわかりません。

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

javascript - ClientValidationFunction 関数が正しく動作しないのはなぜですか?

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

asp.net-mvc - ネストされたオブジェクトのリモート ViewModel 検証が機能しない

次のようなクラスユーザーがあります。

登録機能のために、User オブジェクトとパスワード確認用の文字列を保持する ViewModel を作成しました。

私が遭遇する最初の問題は、ユーザーのプロパティが見つからないように見えるため、 Compare("User.Password") の検証が機能しないように見えることです。User.Password プロパティに対して PasswordConfirmation プロパティを検証する方法はありますか?

2 番目の問題は、ユーザー名フィールドのリモート検証です。http://davidhayden.com/blog/dave/archive/2011/01/04/ASPNETMVC3RemoteValidationTutorial.aspxにあるDavid Hayden のチュートリアルに従いましたが、UsernameExists メソッドのパラメーター username は常に null です。ここで何か不足していますか?

編集:

申し訳ありませんが、パスワードの比較で受け取ったエラーについては、実際には十分に明確ではありませんでした。フィールドに入力すると問題なく動作しますが、パスワードが一致しない場合はエラーが表示されます。ただし、フォームを送信すると、検証の概要に次のエラーが表示されます: UserToRegister.Password という名前のプロパティが見つかりませんでした。

編集2:

ジョーの投稿のおかげで、問題の一部がわかりました。リモートバリデーターは、コントローラーアクションのユーザー名パラメーターと明らかに一致しない URL/?UserToRegister.Username=temp をポストバックします。アクション パラメータを UserToRegister.Username にマップするには、次のものが必要です。

これにより、パラメーターがメソッドに正しく渡されるようになりました。ただし、パスワード フィールドで Compare 属性を使用すると、まだエラーが発生します。

ありがとう。

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

asp.net - DropDownList ボックスでの asp.net 検証

アルバムの値を表示するドロップダウンリスト (cboViewAlbums) があります。最初の項目は アルバムを選択してください... です。cboViewAlbums リストに値 0 が選択されている場合、lb_create_album linkBut​​ton をクリックするとエラーがスローされる検証を使用しようとしています。以下は、これと私の試みのコードです。

どうすればこれを機能させることができますか?

ありがとう

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

asp.net-mvc-3 - 複数の System.Web.Mvc.RemoteAttributes を使用する方法はありますか? 「重複した RemoteAttribute 属性」を取得しています。

ビュー モデル プロパティに対して 2 つの個別の検証を実行する必要があります。どうやら、RemoteAttribute はプロパティごとに 1 回しか適用できません。これはおそらくばかげた質問ですが、これを回避する方法を知っている人はいますか?

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

c# - フィールドの MVC の「数値でなければならない」データ型の検証を無効にする

場所のリストを含む Telerik MVC ComboBox があります。クライアントは、エンド ユーザーが新しい場所をリストに直接入力できるようにしたいと考えています。

フォームを送信すると、新しい値が受け入れられ、場所テーブルに挿入されます。もちろん、追加されるレコードの LocationID が、新しく挿入された場所の ID に更新されます。

コードスニペットについては以下をお読みください

ComboBox を使用すると、リストにない値を入力できることを読み、デモ (ここ)を使用しました

場所を保存するコード、locationID を編集することは問題ではありません。ここでの問題は、コンボボックスに文字列/文字列ではなく、整数/文字列値のペアのリストが含まれていることです。したがって、私のコードにある問題は、新しい場所の名前を送信しようとすると、それを検証しようとし、番号ではないと言うことです。

LocationID フィールドについてのみ、この検証を試みて抑制する方法が必要ですが、それでも null 値から保護します。

編集:私はこの投稿を見つけましたが、OPが言うように、javascriptハックはあまり拡張できないので、本当に避けたいです。

編集:

私はjavascriptハックを使用することになりました。これが機能することがわかったすべてです。これをメソッドまたは属性にカプセル化し、回答として投稿する予定です。

このハックでは、Telerik(). ScriptRegistrar ().OnDocumentReady() を使用してドキュメント準備完了イベント内にコード ブロックを配置すると、Firefox または Chrome で機能しないことがわかりました。メタデータが最初に適切にプッシュされたとしても、このイベント。

これを回避するには、フォーム終了タグ (クライアント側の検証配列がレンダリングされる場所) のすぐ下にある独自のスクリプト ブロックにコードを手動で配置する必要がありました。

さらに、現在、次のようにモデルに直接バインドしています。

モデル バインディングを実行するときに、それがどのように機能するかはわかりません。エラーが返されるだけで、アクション メソッドのコードに到達することさえできないと思います。

ここでのアイデアは、メソッド シグネチャで FormCollection を使用し、整数以外の LocationID を検出し、更新を挿入してから、UpdateModel() を実行することでしょうか? もちろん、より良い提案を歓迎します。

ありがとう!

コード スニペット

モデル:

コントローラ:

意見: