可能であれば、ASP 検証フレームワーク内でフォームと作業をまとめようとしています。最近、バリデーションのいくつかを再考することが賢明だと思われたので、4 つのバリデーターを取り除き、1 つに置き換えましたCustomValidator
。今は 2 つCustomValidator
です (以前は 1 つとCustomValidator
4 つありましたRegulorExpressionValidator
)。
だからここに奇妙なことがあります。カスタム バリデータの 1 つに、削除したバリデータからのエラー メッセージが何らかの形で表示されていました。実際に再確認して、string
表示されているものがプロジェクトに含まれていないことを確認しました。また、デプロイ先のディレクトリのどこにもありません。(私は構築し、掃除し、再構築しました)。
さらに、キャッシュをオフにしているため (FF Web 開発者)、これはブラウザーのキャッシュの問題ではないようです。問題は、バリデーターをページ内のどこに配置したかによっても異なります (これが奇妙なキャッシュの問題ではないことを再度確認します)。
最終的にバリデータータグ内のコンテンツで解決できました。
したがって、これは機能します:
<asp:CustomValidator
ID="validateUrl"
OnServerValidate="ValidateWebsiteUrl"
ClientValidationFunction="isUrlValid"
ControlToValidate="websiteURLInput"
ValidationGroup="CommentGroup"
runat="server"
ForeColor="#991112"
>Please enter a valid URL</asp:CustomValidator>
しかし、これは失敗します:
<asp:CustomValidator
ID="validateUrl"
OnServerValidate="ValidateWebsiteUrl"
ClientValidationFunction="isUrlValid"
ControlToValidate="websiteURLInput"
ValidationGroup="CommentGroup"
runat="server"
ForeColor="#991112"
ErrorMessage="Please enter a valid URL" />
これもそうです(エラーメッセージなし):
<asp:CustomValidator
ID="validateUrl"
OnServerValidate="ValidateWebsiteUrl"
ClientValidationFunction="isUrlValid"
ControlToValidate="websiteURLInput"
ValidationGroup="CommentGroup"
runat="server"
ForeColor="#991112" />