CausesValidation が「False」に設定されているが、クライアント側の検証がまだ起動中である

StackOverflow https://stackoverflow.com/questions/82908

質問

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 を呼び出しているわけではありませんね?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top