Home All Groups Group Topic Archive Search About

Help!! Dynamic Textbox, validation requiredFieldValidator

Author
13 Nov 2006 10:00 PM
Christina
Hello !!

I am creating a dynamic textbox and want to validate it using the
requiredfieldvalidator.

These are the steps which I tried:
====================================================
1) In Page_load,

    Dim Email As New Label
    Email.Text = "* Email Address"
    placeHolder1.Controls.Add(Email)

    Dim txtEmailAddress As New TextBox
    placeHolder2.Controls.Add(txtEmailAddress )


2) The HTML has:
<tr><td>
<asp:PlaceHolder ID="placeHolder1" Runat="server"></asp:PlaceHolder>
<asp:requiredfieldvalidator id="reqFieldVal1" runat="server"
Display="Dynamic" ErrorMessage="Required"
ControlToValidate="txtEmailAddress"></asp:requiredfieldvalidator>
</td>
</tr>

====================================================

This gives an error message :

Unable to find control id 'txtEmailAddress' referenced by the
'ControlToValidate' property of 'reqFieldVal1'.


I tried the following options, but was unsuccessful:

a) Move requiredFieldValidator inside placeholder. (Googling around,
suggested that the validator and control should be in the same
container)

b) Tried to create requiredFieldValidator dynamically and add it in the
same placeholder (ie placeHolder1)

Any pointers will be appreciated !!

TIA..

Author
13 Nov 2006 10:24 PM
RSH
Christina,

You have to set the ID property of the textbox.  You are creating a textbox
object and then referring to it in code but from the perspective of the form
it has no ID so .Net is making and ID up which doesn't align with the name
you have given it.

Dim txtEmailAddress As New TextBox

txtEmailAddress.ID = "txtEmailAddress" <---- Add this

PlaceHolder2.Controls.Add(txtEmailAddress)

Dim ReqFieldVal As New RequiredFieldValidator

ReqFieldVal.ControlToValidate = "txtEmailAddress"

ReqFieldVal.ErrorMessage = "Required"

PlaceHolder2.Controls.Add(ReqFieldVal)

HTH,

Ron



Show quoteHide quote
"Christina" <chrisgir***@gmail.com> wrote in message
news:1163455243.696524.35800@i42g2000cwa.googlegroups.com...
> Hello !!
>
> I am creating a dynamic textbox and want to validate it using the
> requiredfieldvalidator.
>
> These are the steps which I tried:
> ====================================================
> 1) In Page_load,
>
>    Dim Email As New Label
>    Email.Text = "* Email Address"
>    placeHolder1.Controls.Add(Email)
>
>    Dim txtEmailAddress As New TextBox
>    placeHolder2.Controls.Add(txtEmailAddress )
>
>
> 2) The HTML has:
> <tr><td>
> <asp:PlaceHolder ID="placeHolder1" Runat="server"></asp:PlaceHolder>
> <asp:requiredfieldvalidator id="reqFieldVal1" runat="server"
> Display="Dynamic" ErrorMessage="Required"
> ControlToValidate="txtEmailAddress"></asp:requiredfieldvalidator>
> </td>
> </tr>
>
> ====================================================
>
> This gives an error message :
>
> Unable to find control id 'txtEmailAddress' referenced by the
> 'ControlToValidate' property of 'reqFieldVal1'.
>
>
> I tried the following options, but was unsuccessful:
>
> a) Move requiredFieldValidator inside placeholder. (Googling around,
> suggested that the validator and control should be in the same
> container)
>
> b) Tried to create requiredFieldValidator dynamically and add it in the
> same placeholder (ie placeHolder1)
>
> Any pointers will be appreciated !!
>
> TIA..
>
Author
13 Nov 2006 10:41 PM
Christina
Thanks Ron !! It worked !!
I appreciate your quick response !!

RSH wrote:
Show quoteHide quote
> Christina,
>
> You have to set the ID property of the textbox.  You are creating a textbox
> object and then referring to it in code but from the perspective of the form
> it has no ID so .Net is making and ID up which doesn't align with the name
> you have given it.
>
> Dim txtEmailAddress As New TextBox
>
> txtEmailAddress.ID = "txtEmailAddress" <---- Add this
>
> PlaceHolder2.Controls.Add(txtEmailAddress)
>
> Dim ReqFieldVal As New RequiredFieldValidator
>
> ReqFieldVal.ControlToValidate = "txtEmailAddress"
>
> ReqFieldVal.ErrorMessage = "Required"
>
> PlaceHolder2.Controls.Add(ReqFieldVal)
>
> HTH,
>
> Ron
>
>
>
> "Christina" <chrisgir***@gmail.com> wrote in message
> news:1163455243.696524.35800@i42g2000cwa.googlegroups.com...
> > Hello !!
> >
> > I am creating a dynamic textbox and want to validate it using the
> > requiredfieldvalidator.
> >
> > These are the steps which I tried:
> > ====================================================
> > 1) In Page_load,
> >
> >    Dim Email As New Label
> >    Email.Text = "* Email Address"
> >    placeHolder1.Controls.Add(Email)
> >
> >    Dim txtEmailAddress As New TextBox
> >    placeHolder2.Controls.Add(txtEmailAddress )
> >
> >
> > 2) The HTML has:
> > <tr><td>
> > <asp:PlaceHolder ID="placeHolder1" Runat="server"></asp:PlaceHolder>
> > <asp:requiredfieldvalidator id="reqFieldVal1" runat="server"
> > Display="Dynamic" ErrorMessage="Required"
> > ControlToValidate="txtEmailAddress"></asp:requiredfieldvalidator>
> > </td>
> > </tr>
> >
> > ====================================================
> >
> > This gives an error message :
> >
> > Unable to find control id 'txtEmailAddress' referenced by the
> > 'ControlToValidate' property of 'reqFieldVal1'.
> >
> >
> > I tried the following options, but was unsuccessful:
> >
> > a) Move requiredFieldValidator inside placeholder. (Googling around,
> > suggested that the validator and control should be in the same
> > container)
> >
> > b) Tried to create requiredFieldValidator dynamically and add it in the
> > same placeholder (ie placeHolder1)
> >
> > Any pointers will be appreciated !!
> >
> > TIA..
> >