ASP.NET サーバー コントロールを開発して、新しいユーザー登録の非同期ユーザー名可用性検証を提供することを計画しています。コントロールを使用すると、開発者はそれを「ユーザー名」TextBox に向けることができ、ユーザー名が使用可能かどうかを示すことができます。この例と同様ですが、扱いにくい UpdatePanel はありません。
頭を悩ませている設計上の決定の 1 つは、 ScriptControlまたはBaseValidatorから継承するかどうかです。
これをScriptControlとして実装することで、クライアント側の部分を扱いやすくし、resx で簡単にローカライズできます。
ただし、バリデーターが Page.IsValid に関して適切に機能することを確認したいと考えています。これを行う唯一の方法は、BaseValidatorをオーバーライドして実装することEvaluateIsValid()
です。
それで、私の質問は、このコントロールをどのように構造化することを提案しますか? BaseValidator から継承することは、バリデーター部分を正しくするための最良の (唯一の) 方法ですか、それとも他の方法でそれを行うことができますか?