問題タブ [client-side-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 投票する
2 に答える
1963 参照

asp.net-mvc-2 - jquery.validate が ajax の置換で失われ、最後のエラーのみが表示される

MicrosoftMvcJQueryValidation を使用して MVC 2 で jquery.validate を使用しています。モデルにデータ注釈があり、それが jquery バリデーターに変換されます。Soe Tunによって概説されているように、MicrosoftMvcJQueryValidation に変更を加えて、コントロールの横ではなく検証の概要にエラー メッセージを表示できるようにしています。

ページが読み込まれると、すべてが期待どおりに機能します。問題は、フォームを書き換えるために置換モードで ajax フォームを使用していることです。これを行うと、クライアント側の検証がすべて失われます。

検証は引き続きサーバー側で行われ、エラーのあるフィールドには、スタイルを変更するための css クラスが正しく与えられています。ただし、検証の概要には最後のエラー メッセージしか表示されません。

コントローラーは特別なものではありません。モデルが有効な場合は作業を行い、そうでない場合は同じモデルをビューに戻します。

これが私のajaxフォームのサンプルです

これが変更されたjavascriptです。

ドキュメントの下部にある呼び出しを OnSuccess メソッドに移動しようとしましたが、うまくいきませんでした。

では、ajax の置換を行うときにクライアント側の検証を再初期化するにはどうすればよいですか?また、検証の概要にすべてのエラーを表示するにはどうすればよいでしょうか? 1 つの問題を修正すると、もう 1 つの問題が修正されることを願っています。

編集:

ここに私がしていることについてのもう少しの情報があります

ラッパーはこちら

これが支払いパネルです。

そして今、私の新しい支払い方法パネル

各フォームは次のようなものから始まります

初期ロードが機能します。ajax を置き換えると、フォームのコンテキストが失われ、何をしても再初期化されません。フォームがポストバックし、サーバー側で検証が行われます。すべての無効なフィールドが変更されます (css エラー クラスが追加されます) が、最後のエラーのみが概要に表示されます。

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

javascript - jquery.validationEngine.jsを使用して検証するときに、非表示のページ要素をどのように無視しますか?

前のフィールドが入力されるまで、スタイルのデフォルトが「display: none」である div があり、選択が必要なドロップダウン リストが含まれています。

この div が表示される前にページが送信されると、検証エラーがページの左半分に表示されます。

もちろん、これは機能上の問題ではありませんが、検証エンジンに非表示の要素を無視させる方法があるかどうか疑問に思っていました。

これまでのところ、作成者のブログで指摘されているように、class="validate[optional: Special]" を試しました: 提案どおりに機能しないようです。

jquery.validate "ignore" も使用してみました:

これは私の単純な見落としかもしれません。ありがとう。

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

asp.net-mvc - MVC1/xVal プロジェクトを MVC2 にアップグレードし、クライアント側の検証との互換性を確保する

現在、プロジェクトを MVC1 から MVC2 に移行するためにここを探しています。クライアント側の検証には xVal を使用しています。

私が理解していることから、xValへの参照を削除してMVC2 EnableClientSideValidationに置き換えるだけで、うまくいくはずです。他に何か必要ですか?

また、xVal ではクライアント側でモデルのリストを検証できませんでしたが、MVC2 + ClientSideValidation にも当てはまりますか? (「モデルのリスト」で意味するのは、で検証を行うことですList<TypeOfModel>)

これの例は次のとおりです: コントローラ:

モデル1:

モデル 2:

意見:

ビュー 2:

これは、フィールド ID で検証するため、MVC2 クライアント側の検証が失敗する POC です...

0 投票する
5 に答える
10094 参照

asp.net - 送信せずにASP.NETクライアント側の検証をトリガーする方法は?

ASP.NET(MVCではなくWebForms)に、調査フォームがいくつかのスライドに分割されたWebサイトがあります。各スライドには次のボタンがあり、明らかに次のスライドへの移行(クライアント側、ポストバックやリモートリクエストではない)を行います。

各スライドには、関連するバリデーターを含むいくつかのASP.NETコントロールがあります。次のボタンをクリックしたとき(または各入力がフォーカスを失ったとき)にこのバリデーターをトリガーしたいのですが。

ASP.NETがフォーカスの喪失に対してクライアント側の検証を行ったことを思い出しましたが、おそらく私は間違っています...(ASP.NETの開発を約3年でやめたので、思い出せません)

ありがとう

アップデート:

関連するコントロールがフォーカスを失ったときに、ASP.NETが各バリデーターをトリガーするようにすることをお勧めします。ASP.NETがこれを行ったことを覚えています(または私は夢を見ていますか?= P)

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

asp.net - ASP.NET 検証: クライアント側の検証からの情報収集

クライアント側の検証が開始されたときにページ上のバリデーターから情報を収集する ajax メッセージ ボックスを実装したいと思います。同様に、いくつかのテキスト フィールドを空白にしてから送信ボタンを押すと、適切な RequiredFieldValidators がメッセージを表示します。メッセージボックスにもそれらのメッセージが表示されるようにしたいと思います。バリデータ JS イベントなどにフックする適切な方法を探しています。

ありがとう!

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

validation - MVC3 の IValidatableObject - クライアント側の検証

MVC3 には、カスタム検証を追加するための 2 つの新しいメカニズムがあります。これらは、(1) ValidationAttribute のサブクラス、または (2) IValidatableObject の実装です。

ValidationAttribute を使用すると、IClientValidatable を実装する (および jQuery を介して新しいアダプターとメソッドを登録する) ことで、クライアント側の検証を比較的簡単に追加できます。

IValidatableObject は、再利用が不可能な 1 回限りの検証要件により適しています。また、コードがわずかに単純になります。したがって、多くのシナリオでこれを選択します。残念ながら、この方法を使用してクライアント側の検証を実装する簡単な方法はわかりません。

質問は、私が欠けているものと、IValidatableObject を使用するときに JS 検証を取得する方法です。

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

asp.net-mvc-3 - ASP.NET MVC 3 - money フィールドを使用したクライアント検証

私はこのブログherehereをフォローしました。

そして、私は次の問題を抱えています。

私のフォームの 1 つのフィールドは、ブラジルの通貨形式です。クライアント側の検証を使用しています。1つの問題を除いて、すべてがうまく機能します。

私は2つの検証を持っています:

REQUIRED ルールは正常に機能し、MoedaReal ルールは正常に機能します。これらのルールが正常に渡された後、1 つの最終ルールがトリガーされます。

  • フィールド Taxa de adesão は数値でなければなりません

私はすでにこの行で web.config を変更しようとしました:

受け入れられる私の番号形式は次のとおりです。

この形式を受け入れるように.NETを「だます」にはどうすればよいですか? 代わりに DECIMAL 形式を想定しているためです。

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

asp.net - Asp.Net サイトですべてのクライアント側の検証を無効にする

サーバー側の検証が正しいことをテストするために、Asp.Net Web サイトですべてのクライアント側の検証を無効にしたいと考えています (つまり、応答を変更したり、クライアント スクリプトを改ざんしたりする人に対してテストしたいと考えています)。

現在、私はどちらか-

  • ブラウザで JS を無効にする
  • 個々のバリデーターのクライアント検証を手動で無効にします。

これにはグローバル設定がありますか?

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

asp.net-mvc-3 - MVC3 でクライアント検証が true の場合にレンダリングされる html の違い

私は真新しい MVC3 サイトを作成しています。web.config で有効になっているクライアント側の検証

シナリオ #1: (クライアント側の) 検証が失敗した後に生成された出力 HTML:

最も内側のタグに class="" が含まれるネストされた span タグに注意してください。

シナリオ #2: カスタムのサーバー側検証。同じ web.config 構成を使用して、カスタム ビジネス ルールを確認するための検証をサーバーに追加しました。検証が失敗したため、ModelState にエラーを追加します。

生成された HTML は次のようになります。

ネストされたタグではなく、span タグが 1 つだけ生成されたことに注意してください。

生成された HTML には 2 つの異なる最終結果があるため、.field-validation-error クラスのスタイルを設定することはできません。

要約: クライアント側の検証では 1 つのスパン タグのみが生成され、サーバー側の検証では 2 つのスパン タグが生成されます。

質問: これはフレームワークのインデントされた動作ですか、それとも何か間違っていますか?