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

validation - サーバー側の検証ではなく、クライアント側の検証がセキュリティリスクになるのはなぜですか?

クライアント側の検証が潜在的なセキュリティリスクである理由、またはサーバー側の検証よりもセキュリティリスクが高い理由がよくわかりません。誰かが私にいくつかのシナリオを教えてもらえますか?

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

asp.net - 継承されたRegularExpressionAttributeを使用したASP.NETMVCデータ注釈クライアント側の検証

モデルの検証をクリーンに保つために、やなどの独自の検証属性を実装したいと思いPhoneNumberAttributeますEmailAttribute。これらのいくつかは、から継承する単純なクラスとして実装できますRegularExpressionAttribute

ただし、これを行うと、これらの属性のクライアント側の検証が失敗することに気付きました。どこかで失敗するタイプバインディングがあると思います。

クライアント側の検証を機能させるために私ができることはありますか?

コード例

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

asp.net-mvc - Asp.netmvcクライアント側の検証-同じdivにエラーを表示する

生成されたすべてのエラーを同じdivに一覧表示するにはどうすればよいですか?

このようなもの:

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

javascript - Javascript 正規表現のヘルプ

誰かが正規表現パターンを使用して次のルールを検証するのを手伝ってくれますか?

最大長 : 15
最小長 : 6
最小文字数 : 1
最小数字数 : 1
結果として繰り返される文字数 : 2

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

javascript - テキストボックスのクライアント側検証

私はasp.netコントロールテキストボックスを持っており、クリックするとjqueryタイムピッカーが表示され、ユーザーはいつでも選択できます.しかし、クライアント側の現在の時刻よりも1時間大きくなるように、選択した時刻を検証したいと思います. テキストボックスの値が変更されるときは、検証する必要があります。誰でもこれを行う方法を手伝ってもらえますか?

0 投票する
0 に答える
1306 参照

asp.net - ASP.NET 異なる検証グループを持つすべてのバリデーターを検証する

ASP.NET ページを作成していて、検証を機能させようとしています。私の問題は、いくつかのカスタム グリッド コントロールを含むリピーターがあり、それぞれにバリデーターと検証概要があることです。

最初は、検証グループを割り当てませんでしたが、これにより、いずれかのグリッドにエラーが発生するたびに、すべてのグリッドに検証サマリーが表示されるようになりました (検証サマリーの検証グループが設定されていなかったため、すべての検証がキャプチャされたと思われます)。エラー)。

そのため、コントロールの特定のプロパティに関して一意の、グリッドごとに個別の検証グループを割り当てました。しかし、入力を検証する必要があるページの下部 (検証グループなし) にボタンがあります。検証グループがないため、グリッドのバリデーターが自動的に検証されないため、 を呼び出すクリック ハンドラーを追加しましたPage_ClientValidate()。サイコロはありません-検証はどこにでも表示されます。

では、検証グループを繰り返し処理し、Page_ClientValidate(validationGroup)バリデーターがあればそれぞれを呼び出します。バリデータを持つグリッドが 1 つだけの場合は問題なく動作しますが、2 つ以上のグリッドがある場合は、すべての検証サマリーが自動的に非表示になりますが、最後にチェックされたものは非表示になります。この動作を無効にする方法、またはこれを完全に行うためのより良い方法はありますか?

必要に応じて、繰り返し検証を終了したら、他の検証サマリーを表示して再表示できると思いますが (それには他の意味がある可能性があります)、バリデーターの表示も再表示する必要があります (使用しています無効なフィールドを示すイメージ)。それは、面倒で壊れやすいソリューションのように思えます。

編集:ああ、ひねり。最後に述べたアプローチを試してみました-無効な非表示のバリデーター/検証の概要を再表示します-しかし、Microsoftコードもそれを防ぎます。メソッドの最初の行(ページ内の各バリデーターでValidatorValidate(validator, validationGroup, event)呼び出される)は に設定され、パラメーターがバリデーターのものと一致する場合にのみ実行される条件内の検証関数の戻り値にのみ設定されます。結果として、非表示のバリデーターはすべて有効としてマークされ、バリデーターが実際に有効であるか、Microsoft がクライアント側の検証コードの設計に愚かであったために有効であるかを後で判断するのが難しくなります。Page_ClientValidate(validationGroup)validator.isvalidtruevalidationGroup

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

asp.net - ASP.NET MVC でクライアント側の検証が失敗したときに jQuery サーバー側の呼び出しを防止する

モデルの検証とクライアント側の検証が有効になっているビュー ページがあります。サーバーへのAJAX呼び出しにjQueryを使用するjavascript関数を呼び出した送信ボタンがあります..しかし、クライアント側の検証が失敗したときにAJAXアクションを停止したいです。方法はありますか?

ここに私のJavaScriptがあります:

助けてください。

0 投票する
8 に答える
7078 参照

validation - Web アプリケーションのクライアント側の検証だけでなく、サーバー側の検証も必要なのはなぜですか?

Web アプリケーションに対してクライアント側とサーバー側の両方の検証を行う高レベルの理由はありますか?

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

c# - MvcContrib FluentHtml を使用した ASP.NET MVC クライアント側の検証

MvcContrib の FluentHtml ビルダーで組み込みの MVC2 コードを使用してクライアント側の検証を行うための推奨される方法は何ですか? 問題がある場合は、デフォルトのMicrosoft AJAXのものではなく、jQueryのクライアント側検証コードを使用しています(そうすべきではないと思いますが)。

Html.ValidationMessageFor(x => x.FirstNameページに検証メッセージ ( ))を配置すると、クライアント側の検証のみが jQuery Validate に登録されるようです。MvcContrib の FluentHtmlはサーバー側でthis.ValidationMessage(x => x.FirstName)のみ動作しModelState、エラーがなければ HTML を書き出さず、指定されたプロパティをクライアント側の jQuery Validate に登録しません。

私の質問: MvContrib の現在のトランク ビルドを MVC2 の組み込みのクライアント側検証で動作させる方法はありますか? もしそうなら、どのように?そうでない場合、推奨される別のクライアント側の検証はありますか (現在使用していて減価償却されている xVal 以外に)? これが正しく動作するように、MvcContrib でパッチを適用する必要がありますか? 最後の手段は、ASP.NET MVC の組み込み入力ビルダーの使用に移行することですが、MvcContrib には既に多くの投資を行っているため、使用しない方がよいでしょう。

ありがとう!

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

regex - RegularExpressionAttribute - クライアント側の検証で大文字と小文字を区別しないようにする方法は?

クライアント側の検証に使用する文字列があります。

この文字列を[RegularExpression(regex, ErrorMessage = "invalid")]属性で使用します。

/iJavascript 正規表現のフラグが大文字と小文字を区別しないようにするために使用されていることは知っていますが、正規表現の最後に追加するだけです (つまり@"^....$/i"、機能していません - 入力内容 (有効かどうかに関係なく) 正規表現の検証は完全に失敗します)。 )。

私は何が欠けていますか?