2012-01-26 12 views
1

DBにバインドされたDropDownListがあります。asp.net CustomValidatorサーバー側でプログラムが停止しませんか?

ユーザーが「(その他)」を選択すると、JQueryが起動し、.Show() a <asp:TextBox>ユーザーが何かを入力する必要がある場所を選択すると、アイテムが手動で追加されます。

このTextBoxを検証しようとしています。私のaspx

から

protected void validatorOther(object sender, ServerValidateEventArgs e) 
{ 
    if (dropdownVisitorType.SelectedItem.ToString() == "(other)") 
    { 
     e.IsValid = (textboxOtherVisitorType.Text != ""); 
    } 
} 

protected void buttonRegister_Click(object sender, EventArgs e) 
{ 
    //a whole bunch of code here... 
} 

そして:もちろん私は、クライアント側を使用して、それを隠してるから、私はので、私は、私は非常に精通していないよのCustomValidatorをしようとしたのRequiredFieldValidator + RegularExpressionValidatorを使用することはできません

<asp:CustomValidator runat="server" id="validatorOtherVisitorType" ValidateEmptyText="true" onservervalidate="validatorOther" errormessage="*" /> 

デバッグしようとすると、e.IsValidは、falseを正常に返すようです。しかし、私のウェブページはそれを無視してとにかく進んで、バリデーターを役に立たなくするようです。私は間違って何をしていますか?

答えて

3

あなたは、登録ボタンをクリックしての検証を強制する必要があります。

this.Page.Validate(); 
if (this.Page.IsValid) 
{ 
// your registration logic. 
} 
+0

これは私がまさに必要でした。作品は完璧にありがとう! – Baxter