0

コントロールを使用しFormViewて、ユーザーがデータベースに行を挿入できるようにしています。これらの入力フィールドを検証したいので、正規表現検証ヘルパーを追加しました。マークアップは次のとおりです。

<InsertItemTemplate>
    <p>
        Name:
        <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
        <asp:RegularExpressionValidator ValidationExpression="^[a-zA-Z0-9 ]*$" ControlToValidate="NameTextBox" ID="NameTextBoxValidator" runat="server" ErrorMessage="Must be alphanumeric characters and spaces"></asp:RegularExpressionValidator>
    </p>
    <p>
        Location:
        <asp:TextBox ID="LocationTextBox" runat="server" 
            Text='<%# Bind("Location") %>' />
    </p>
    <p>
        <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" 
            CommandName="Insert" Text="Insert" />
    </p>
</InsertItemTemplate>

ただし、ページの更新をクリックInsertButtonすると、SQL Server から NULL 値を挿入できないというエラーが表示され、バリデータはまったく使用されません。

どうすればこれを修正できますか?

4

2 に答える 2

1

ユーザーがテキストを入力しておらず、データベースが null 値を許可していないと仮定します。

ARegularExpressionValidatorは空のコントロールを検証しません。したがって、 も提供する必要がありますRequiredFieldValidator

入力コントロールが空の場合、検証は失敗しません。RequiredFieldValidator コントロールを使用して、フィールドを必須にします。

http://www.w3schools.com/aspnet/control_regularexpvalidator.asp

于 2012-11-14T21:09:06.057 に答える
0

ここにはあまり情報がありませんが、推測してみましょう。

OnLoad で何も起きていないことを確認してください。OnLoad がある場合は、IsPostback が false の場合にのみ起動するようにしてください。

于 2012-11-14T21:09:29.047 に答える