0

本当に単純なものが欠けていると確信しているので、これを投稿するのは恥ずかしいと思います.aspバリデーターを使用したのはこれが初めてではありません. 次のバリデータ コントロールがあります。

<asp:RequiredFieldValidator runat="server" ControlToValidate="txtTitle" EnableClientScript="false" ErrorMessage="*" ValidationGroup="groupUpdateAL" />

<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtAbbr" EnableClientScript="false" ErrorMessage="*" ValidationGroup="groupUpdateAL" />

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="ddlColour" EnableClientScript="false" ValidationGroup="groupUpdateAL" ErrorMessage="*" />

<asp:Button ID="btnSave" runat="server" Text="Save" ValidationGroup="groupUpdateAL" CausesValidation="true" /><br />

何らかの理由で、コントロールを空のままにしておくと、次のエラーが表示されます。

Length cannot be less than zero.
Parameter name: length

検証コントロールが無効な入力をキャッチしていないようです。

私が試したこと:

ポストバックをインターセプトするクライアントの検証である可能性があるのではないかと考えました。これが、EnableClientScript が false に設定されていることがわかる理由です。うまくいきませんでした。

4

3 に答える 3

3

btnSave の onclick イベントでページの有効性をテストしてみてください:

if(Page.IsValid)
{
    //Do your stuff
}
else
{
    Response.Write("error");
}
于 2013-04-02T09:33:46.113 に答える
-1

検証は、C# ファイルの新しい画面で行われます この画像の有効ラベル plzz この画像をクリックしてください ここに画像の説明を入力してください

于 2016-12-01T20:31:39.640 に答える
-2
  1. データベースを作成してクエリ文字列を取得する
  2. Visual Studio で接続ファイルを作成する

    ここに画像の説明を入力

于 2016-12-01T20:14:44.220 に答える