0

だから私はこの古いasp .net 2.0アプリを持っていて、いくつかのフォームコントロールにこれらのasp:RequiredFieldValidatorとasp:CustomValidatorがあります。

Web ブラウザーで JavaScript をオフにすると、サーバー/バックエンドの検証が存在しないことがわかりました。バックエンド検証用にすべての asp:Validator の ac# バージョンをコーディングした後、[ValidatorID].IsValid を呼び出すだけで、コントロールの値が有効かどうかを取得できることがわかりました。

私の質問は、javascript をオフにしたため、asp:CustomValidator の関連付けられたコントロールが有効かどうかをアプリがどのように認識しているのかということだと思います。その JavaScript はいつどこで実行されますか? それは正しいサーバーでなければなりませんか?

また、バックエンド検証を追加する正しい/推奨される方法は、単に if(validator1.IsValid && validator2.IsValid ...) { //isvalid } またはページ全体が有効かどうかを確認できる方法はありますか? または、バリデーターを追加するたびに分離コードを変更する必要がないように、バリデーターをグループ化する方法はありますか?

ありがとう - ロス

4

2 に答える 2

1

サーバーサイドバリデーター関数のそれぞれにブレークポイントを設定し、呼び出しif(Page.IsValid)て、コードが各関数に順番に移動し、falseを返す最初の関数に到達すると停止することを確認します。

于 2013-03-05T21:55:03.353 に答える
1

サーバー側ではif(Page.IsValid)、すべての検証が正常に検証されたかどうかを確認するために使用できます。クライアント側の検証がオフになっている場合、検証はサーバー側でのみ行われます。

Page.IsValid MSDN ドキュメントを参照してください。

于 2013-03-05T21:52:36.627 に答える