2

私はちょうどこの奇妙な振る舞いを見つけました、これはバグですか、それとも私は何が欠けていますか?

<asp:TextBox runat="server" Text="" ID="txtSomething" />
<asp:RequiredFieldValidator 
    ErrorMessage="errormessage" 
    ControlToValidate="txtSomething"
    runat="server"
    Text="(*) Required"
    SetFocusOnError="true"
    EnableClientScript="true"/>

この単純なコードを使用すると、空白でいっぱいの文字列を記述しても、検証は正しく機能します

しかし、次のようにプロパティを追加すると、次のInitialValueようになります。

<asp:TextBox runat="server" Text="lol" ID="txtSomething" />
<asp:RequiredFieldValidator 
    ErrorMessage="errormessage" 
    ControlToValidate="txtSomething"
    runat="server"
    Text="(*) Required"
    SetFocusOnError="true"
    EnableClientScript="true"
    InitialValue="lol"/>

InitialValue="lol"Text="lol"を追加したことに注意してください

今、私がテキストを削除した場合、の検証は無視されます

なぜ??

4

2 に答える 2

5

MSDNの説明を注意深く見てください。

このプロパティを使用して、入力コントロールの初期値を指定します。

フォーカスを失ったときに、関連付けられた入力コントロールの値がこのInitialValueと一致する場合にのみ、検証は失敗します。

私はそれがそれ自体を物語っていると思います。

于 2012-06-13T08:05:28.390 に答える