問題タブ [unobtrusive-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 投票する
3 に答える
17347 参照

asp.net-mvc-3 - ASP.NETMVC3の目立たない検証とラジオボタン

ラジオボタンのリストで必要な検証を実行して、ユーザーに続行するオプションを選択させるようにしています。検証は機能しますが、最初のラジオボタンでのみメタデータを出力し、最初のラジオボタンにクラスinput-validation-errorのマークを付けるだけです。

例:

結果のHTML:

両方のラジオボタンで検証エラークラスを取得する必要があります。そうしないと、ユーザーが選択するオプションが歪む可能性があります。

私に何ができる?

0 投票する
6 に答える
11899 参照

javascript - mvc3検証入力'等しくない'

私のフォームには、(ラベルを使用するのではなく)入力内容についてユーザーをガイドするデフォルトのヘルパーテキストを含む入力があります。入力値がnullになることはないため、これにより検証が難しくなります。

これを処理するために、目立たない検証を拡張するにはどうすればよいですか?Name入力が「名前を入力してください...」と等しい場合、フォームは有効ではありません。

検証アダプターに関するBradWilsonのブログ投稿を読み始めましたが、これが正しい方法かどうかわかりません。フィールドに応じて異なるデフォルト値に対して検証できる必要があります。

ありがとう

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

asp.net-mvc - 「HttpPostedFileWrapper」での MVC モデルの検証

誰かが HttpPostedFileWrapper オブジェクトのモデル検証を手伝ってくれますか?

モデル:

コントローラ:

cshtml:

問題:

  1. HTML に追加されている「data-val*」属性が表示されません。
  2. 目立たない検証をオフに設定しません (入力ボックスの赤い境界線)

ノート:

  1. モデルの他の項目は検証で正常に動作してい<input type="file"/>ますが、問題があると思われるのはその項目だけです。
  2. 正常にアクション メソッドに入ります (つまり、必要に応じて InputStream にアクセスできます)。
  3. すべてのスクリプトが正しく参照されている (通常のテキスト入力で動作する)

前もって感謝します、

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

jquery - 動的に追加されたフィールドを使用したクライアント側の検証

ASP.NETMVCでjQueryの控えめな検証プラグインを使用しています。サーバーにレンダリングされるフィールドはすべて適切に検証されます。

ただし、JavaScriptを使用してフォームにフィールドを動的に追加すると、適切なHTML5data-*属性があっても検証されません。

誰かが私がこの目標を達成する方法について正しい方向に私を導くことができますか?

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

jquery - JQuery Unobtrusive Validation がドロップダウン リストで実行されるべきではない場合に実行される

ビューモデルを使用して.NET MVC3に次のものがあります。Razor と FluentValidation を使用しています (ただし、同じ結果で DataAnnotations も試しました)。

ビューから:

コントローラーから:

ViewModel から:

私の Validator クラス (Fluent) から:

そして生成された HTML:

今問題:

事前入力された IEnumerable (RegisteredL2s) から L2 フィールドを描画し、それをドロップダウンリスト (ID=L2、html のほぼ中央) として持っています。L2 は必須で、特定の長さ (2) である必要があります。私の問題は、ユーザーが [Select One] 以外のものを選択した場合でも、長さエラーが表示されることです。そのエラーを削除すると、正規表現エラーが表示されます。送信時のサーバー側の検証は正しく機能します。なぜこれを行うのですか、どうすれば停止できますか? または、この 1 つのフィールドのクライアント側をオフにすることはできますか?

更新: jquery.validate.js に問題があると思います...誰かに確認してもらいたいです。

これは私が変更した元のコード行で、問題が解決したようです: これは 683 行目です。686 行目は問題点です。

長さバリデーターも存在する必要なドロップダウン値がある場合、エラーが発生すると思います。コードを実行すると、この行の長さは 2 ではなく 1 を返します。太字の行を変更すると、return $("option:selected", element).val().length;正しく機能します。これが適切なバグであるかどうか、および私の修正が jquery.validation の他の部分に干渉しないかどうかについてのコメントは役に立ちます。

これは jquery.validation 1.8.1 からのものです (バージョンが同期していない可能性があると考えたため、1.7 から更新されました) Jquery = 1.6.1.

更新 2: これが正確な答えであるかどうかはわかりませんが、

rangelength の JQuery.Validation ドキュメント (正確に 2 の長さに対して jquery.validation.unobtrusive が構築するもの)によると、ここでは、選択 (ドロップダウンリスト) の場合、特定の数のアイテムが確実に処理されるようにするためのものであることがわかります。値の長さを検証するために選択されていません。

サーバー側の検証を保持しながら、この特定のアイテムのクライアント側で値の長さを確認するか、検証をオフにした後です。

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

asp.net-mvc-3 - asp.net mvc3jquery検証メッセージを手動で追加

私はかなり長い間検索してきましたが、これに対する答えを見つけることができませんでした。

目立たない検証でasp.netMVC3を使用しています。私のモデルは、簡単な検証(必須フィールド、正規表現など)のためにデータ注釈にバインドされています。ただし、サーバーで行われるより複雑な検証があります。ドメインモデルからの検証追加メッセージを返すajax投稿を行っています。私がやりたいのは、既存のメッセージの代わりにそれらの検証メッセージをフォームに配置することです。私が実際に持っているのはメッセージが戻ってくるだけであり、ビュー全体を更新する必要がないため、部分的なビューを使用したくありません。また、フォームに新しいルールや新しい入力を追加していないため、$。validator.unobtrusive.parseは機能しません。これらは私がフォームに入れたいメッセージです。$ .post呼び出しは、フィールドが影響を受けた/影響を受けたメッセージのリストと検証メッセージを返します。

これが私がやろうとしていることの一種です

ご協力いただきありがとうございます

リクエストごとに、返されるJSONのサンプルを次に示します。これはかなり単純です。

messagesは、重大度レベル、エラーが属していたプロパティ、およびエラーメッセージを含むオブジェクトのリストです。メッセージオブジェクトの名前を使用して、フォーム上の必要な場所と一致させます。

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

asp.net-mvc-3 - mvc3 jquery 目立たない検証ロケール 10 進数フィールド

目立たない検証を使用して、ローカライズされた mvc3 Web アプリケーションに取り組んでいます。私が持っているweb.configで:

Jquery 1.4.4 および jquery validation 1.6 が使用されています。

問題は、10 進数の区切り文字にあります。

jquery の検証がカルチャを無視しており、ドット文字が常に小数点記号であると想定していることがわかります。代わりにコンマを使用する必要があります。例えばドイツ語でも同じだと思います。

私は独自の methods_pl.js ファイルを作成しました:

上記は、10進数がまったく認識されないという基本的な問題を解決しています。

しかし、モデルの Decimal Price プロパティで RangeAttribute を使用しようとすると、まだ機能しません。これを解決するには?

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

jquery - 部分ビューで控えめなクライアント検証

jQuery UI ダイアログ内でレンダリングされる部分ビューがあります。これは動的なコンテンツであるため、控えめなクライアント側の検証は機能しません。それを取得するには、バリデーターにフォームのコンテンツ呼び出しを解析させる必要があり$.validator.unobtrusive.parse();ます。しかし、うまくいきません。私のブラウザは、目立たないオブジェクトが未定義であると報告しています。なぜそれが起こっているのですか?おそらくjQueryライブラリにいくつかの変更があり、全体が異なる動作をするようになりました. 私はjquery-1.6を使用しています

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

jquery - MVC3 控えめな検証を追加 (addMinMax)

私はそのような属性を持っています:

および JS バリデータ表現:

そして、このjsは機能しません(例外はありません...死んでいる可能性があります& :))

しかし、これはうまくいきます:

どうしたの?どこが間違い?

0 投票する
4 に答える
15777 参照

validation - $.ajax() で、またはその前にフォームのクライアント側の検証を強制する方法

フォームがあり、目立たない検証が有効になっています。デフォルトでは、submit メソッドでクライアント側の検証がトリガーされ、(エラーがある場合) フォームは次のようになります。

ここに画像の説明を入力

検証は、データがサーバーに送信される前でも行われます。

$.ajax メソッドを使用する場合、この動作は機能しません。クライアント側の検証が機能しません。JavaScript のすべてのフィールドを手動でチェックする必要があり、DataAnnotations のすべての美しさが失われます。

より良い解決策はありますか?jquery のsubmit()を使用することもできましたが、 $.ajaxのようなコールバックはないと思います。