CausesValidation が「False」に設定されているが、クライアント側の検証がまだ起動中である
-
01-07-2019 - |
質問
ASP.NET 1.1 Web アプリケーションには、CausesValidation 属性が "False" に設定されている、[キャンセル] ボタンを押すとクライアント側で起動するいくつかの RequiredFieldValidator があります。どうすればこれを止められるでしょうか?
検証グループが 1.1 でサポートされているとは思えません。
コードサンプルは次のとおりです。
<asp:TextBox id="UsernameTextBox" runat="server"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="UsernameTextBoxRequiredfieldvalidator" ControlToValidate="UsernameTextBox"
runat="server" ErrorMessage="This field is required."></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="UsernameTextBoxRegExValidator" runat="server" ControlToValidate="UsernameTextBox"
Display="Dynamic" ErrorMessage="Please specify a valid username (6 to 32 alphanumeric characters)."
ValidationExpression="[0-9,a-z,A-Z, ]{6,32}"></asp:RegularExpressionValidator>
<asp:Button CssClass="btn" id="addUserButton" runat="server" Text="Add User"></asp:Button>
<asp:Button CssClass="btn" id="cancelButton" runat="server" Text="Cancel" CausesValidation="False"></asp:Button>
アップデート: コードビハインドで動的ページ生成が行われており、それが混乱を引き起こしていたに違いありません。それをクリーンアップすると機能するようになったからです。
解決
検証グループはバージョン 2.0 まで ASP.NET に追加されませんでした。これは1.1の質問です。
設定を再確認し、コードビハインドで上書きしていないことを確認してください。
他のヒント
それらは別の検証グループ (ボタンとバリデータ コントロール) に属していますか?
クライアント検証を行うために手動で JS を呼び出しているわけではありませんね?
所属していません StackOverflow