web-dev-qa-db-ja.com

ASP.NET必須フィールドバリデーターが機能しない

こんにちは、テキストボックスに必須のフィールドバリデーターが必要です。これは私のテキストボックスです。

<asp:TextBox ID="txtTimeSlotGroupName" runat="server" AutoPostBack="false" 
     ClientIDMode="Static"></asp:TextBox>  
<font color="red">*</font>  
<asp:RequiredFieldValidator ID="RequiredFieldValidator_txtTimeSlotGroupName"
     runat="server" ControlToValidate="txtTimeSlotGroupName" Display="None"
     ErrorMessage="Timeslot Group Required!" ForeColor="Red" InitialValue="0"
     ValidationGroup="TimeSlot"></asp:RequiredFieldValidator>

マイボタン:

<asp:Button ID="btnAddTimeSlots" Text="Add Timeslots" CssClass="button" 
     runat="server" OnClick="btnAddTimeslots_Click" ValidationGroup="TimeSlot" 
     OnClientClick="javascript:shouldsubmit=true;"/>

エラーメッセージが表示されません。解決策はありますか?

Textboxの検証グループも定義する必要があります。..

   <asp:TextBox ID="txtTimeSlotGroupName" runat="server" 
        AutoPostBack="false" ValidationGroup="TimeSlot" ClientIDMode="Static"></asp:TextBox>
20
Amit Singh

RequiredFieldValidatorタグからInitialValue = "0"を削除します。テキストボックスを検証する場合は必要ありません。

8
yalinhahs

私も同じ問題に直面していました。ページにJavaScriptが存在するかどうかを確認してください。上記に関係なく、コードではPage.Validate()メソッドとif(Page.IsValid)を使用します。これにより、自動的に検証コントロールが強制され、問題が解決されます

4

2つのオブジェクトのIDが同じである場合、必須のフィールドバリデータは機能しません。

2
CHEGENI

私はこれと同じ問題を抱えていました...しかし、上記の答えのどれも私のための修正ではありませんでした...

私の問題は、私がPage.isValid私のボタンを押す方法。以下は私のボタンコードとボタンによって呼び出されるメソッドです。

ボタン:

<asp:Button ID="btnBtmSave" runat="server" Text="Save" OnClick="btnSave_Click" BtnGroup="save" TabIndex="18" />

ボタンメソッド:

protected void btnSave_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        //Logic goes here
    }
}
1
AFatBunny

テキストボックスにValidationGroup = "TimeSlot"を追加するだけです

    <asp:TextBox ID="txtTimeSlotGroupName" runat="server" AutoPostBack="false" 
   ValidationGroup="TimeSlot"   ClientIDMode="Static"></asp:TextBox>
1
Hema Shetty

すべてのテキストと追加ボタンと検証の同じ検証グループを作成する

   ValidationGroup="AAA" 

コードを保存ボタンに追加します。

  If (Page.IsValid) Then
        YOURSQL.Insert()
   'or ur code here'
    End If
0
Aladein