Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > HtmlSelect and RequiredFieldValidator

Reply
Thread Tools

HtmlSelect and RequiredFieldValidator

 
 
BK
Guest
Posts: n/a
 
      05-03-2005
I'm having a really strange problem with and HtmlSelect server control
(listbox) and a RequiredFieldValidator that I am trying to use to make sure
that someone has items in the listbox.

The way that the HtmlSelect is populated is via a combination of client-side
javascript and another aspx page (launched by the javascript).

Anyway, everything seems to work just fine in terms of populating the
HtmlSelect. However, when I postback the form, the RequiredFieldValidator
always thinks that there is nothing in the HtmlSelect and fails validation
(I am only using server-side validation, by the way). I have the
ControlToValidate and all those things hooked up properly. Is there some
trick to setting the RequiredFieldValidator for an HtmlSelect control? Some
property that I am not setting?? I suspect that there is some small setting
that I am missing, but I have spent way too much time on this to keep
struggling.

Any help is appreciated,
Thanks


 
Reply With Quote
 
 
 
 
Karl Seguin
Guest
Posts: n/a
 
      05-03-2005
I wouldn't expect server-side validation to work on client-side added items.

Take a look at: http://openmymind.net/FAQ.aspx?documentId=1

but the quick answer is that when you add items in javascript, they aren't
added to the viewstate which means they won't be recreated on
postback...explains why your htmlselect is empty...

Karl


--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)


"BK" <> wrote in message
news:...
> I'm having a really strange problem with and HtmlSelect server control
> (listbox) and a RequiredFieldValidator that I am trying to use to make
> sure
> that someone has items in the listbox.
>
> The way that the HtmlSelect is populated is via a combination of
> client-side
> javascript and another aspx page (launched by the javascript).
>
> Anyway, everything seems to work just fine in terms of populating the
> HtmlSelect. However, when I postback the form, the RequiredFieldValidator
> always thinks that there is nothing in the HtmlSelect and fails validation
> (I am only using server-side validation, by the way). I have the
> ControlToValidate and all those things hooked up properly. Is there some
> trick to setting the RequiredFieldValidator for an HtmlSelect control?
> Some
> property that I am not setting?? I suspect that there is some small
> setting
> that I am missing, but I have spent way too much time on this to keep
> struggling.
>
> Any help is appreciated,
> Thanks
>
>



 
Reply With Quote
 
 
 
 
Patrick Olurotimi Ige
Guest
Posts: n/a
 
      05-03-2005
As Karl explained don't expect HtmlSelect to validate

*** Sent via Developersdex http://www.developersdex.com ***
 
Reply With Quote
 
BK
Guest
Posts: n/a
 
      05-03-2005
OK, this sort of makes sense to me. But, all the documentation that I have
read says that the RequiredFieldValidator works with an HtmlSelect server
control. I guess what you are saying is that the items need to be added
server-side for this to work?

Also, if this is the case, then is there a way to add them to the viewstate
in the described scenario or will I have to do some kind of convoluted
CustomValidation where I check the Request collection? Based upon the FAQ
below, I am assuming that converting to web controls wouldn't solve the
problem either - this seems to be a client vs server side issue with regard
to how the validation works.

Brian

"Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
wrote in message news:uP$6M$...
> I wouldn't expect server-side validation to work on client-side added

items.
>
> Take a look at: http://openmymind.net/FAQ.aspx?documentId=1
>
> but the quick answer is that when you add items in javascript, they aren't
> added to the viewstate which means they won't be recreated on
> postback...explains why your htmlselect is empty...
>
> Karl
>
>
> --
> MY ASP.Net tutorials
> http://www.openmymind.net/ - New and Improved (yes, the popup is annoying)
> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
> come!)
>
>
> "BK" <> wrote in message
> news:...
> > I'm having a really strange problem with and HtmlSelect server control
> > (listbox) and a RequiredFieldValidator that I am trying to use to make
> > sure
> > that someone has items in the listbox.
> >
> > The way that the HtmlSelect is populated is via a combination of
> > client-side
> > javascript and another aspx page (launched by the javascript).
> >
> > Anyway, everything seems to work just fine in terms of populating the
> > HtmlSelect. However, when I postback the form, the

RequiredFieldValidator
> > always thinks that there is nothing in the HtmlSelect and fails

validation
> > (I am only using server-side validation, by the way). I have the
> > ControlToValidate and all those things hooked up properly. Is there some
> > trick to setting the RequiredFieldValidator for an HtmlSelect control?
> > Some
> > property that I am not setting?? I suspect that there is some small
> > setting
> > that I am missing, but I have spent way too much time on this to keep
> > struggling.
> >
> > Any help is appreciated,
> > Thanks
> >
> >

>
>



 
Reply With Quote
 
BK
Guest
Posts: n/a
 
      05-03-2005
Well, it doesn't sound like it has anything to do with HtmlSelect, per se,
validating. It seems like it has to do with the values not being in
Viewstate. If that is the case, then validation would not work with ANY
items that are added to a form via client-side code.

"Patrick Olurotimi Ige" <> wrote in message
news:%...
> As Karl explained don't expect HtmlSelect to validate
>
> *** Sent via Developersdex http://www.developersdex.com ***



 
Reply With Quote
 
Karl Seguin
Guest
Posts: n/a
 
      05-03-2005
You are pretty much right about everything. Though I would expect the
client-side validation to still work (not necessarily ideal since it only
works in IE...)

-items need to be added server-side
-going to dropdownlist (server control) wouldn't change anything
-you'll need to write your own validator and use request.form

Cheers,
Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"BK" <> wrote in message
news:O3Fu5l%...
> OK, this sort of makes sense to me. But, all the documentation that I have
> read says that the RequiredFieldValidator works with an HtmlSelect server
> control. I guess what you are saying is that the items need to be added
> server-side for this to work?
>
> Also, if this is the case, then is there a way to add them to the
> viewstate
> in the described scenario or will I have to do some kind of convoluted
> CustomValidation where I check the Request collection? Based upon the FAQ
> below, I am assuming that converting to web controls wouldn't solve the
> problem either - this seems to be a client vs server side issue with
> regard
> to how the validation works.
>
> Brian
>
> "Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
> wrote in message news:uP$6M$...
>> I wouldn't expect server-side validation to work on client-side added

> items.
>>
>> Take a look at: http://openmymind.net/FAQ.aspx?documentId=1
>>
>> but the quick answer is that when you add items in javascript, they
>> aren't
>> added to the viewstate which means they won't be recreated on
>> postback...explains why your htmlselect is empty...
>>
>> Karl
>>
>>
>> --
>> MY ASP.Net tutorials
>> http://www.openmymind.net/ - New and Improved (yes, the popup is
>> annoying)
>> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
>> come!)
>>
>>
>> "BK" <> wrote in message
>> news:...
>> > I'm having a really strange problem with and HtmlSelect server control
>> > (listbox) and a RequiredFieldValidator that I am trying to use to make
>> > sure
>> > that someone has items in the listbox.
>> >
>> > The way that the HtmlSelect is populated is via a combination of
>> > client-side
>> > javascript and another aspx page (launched by the javascript).
>> >
>> > Anyway, everything seems to work just fine in terms of populating the
>> > HtmlSelect. However, when I postback the form, the

> RequiredFieldValidator
>> > always thinks that there is nothing in the HtmlSelect and fails

> validation
>> > (I am only using server-side validation, by the way). I have the
>> > ControlToValidate and all those things hooked up properly. Is there
>> > some
>> > trick to setting the RequiredFieldValidator for an HtmlSelect control?
>> > Some
>> > property that I am not setting?? I suspect that there is some small
>> > setting
>> > that I am missing, but I have spent way too much time on this to keep
>> > struggling.
>> >
>> > Any help is appreciated,
>> > Thanks
>> >
>> >

>>
>>

>
>



 
Reply With Quote
 
Brock Allen
Guest
Posts: n/a
 
      05-03-2005
> OK, this sort of makes sense to me. But, all the documentation that I
> have read says that the RequiredFieldValidator works with an
> HtmlSelect server control. I guess what you are saying is that the
> items need to be added server-side for this to work?


Yes, you're correct. If you look at the javascript emitted when you do have
server side validation controls you'll see there's an array that's initalized
at the bottom somewhere with the IDs of all the client side validation elements.
This is what the client side framework drives off of.

-Brock
DevelopMentor
http://staff.develop.com/ballen



 
Reply With Quote
 
BK
Guest
Posts: n/a
 
      05-04-2005
I'm still having trouble with this, here is what I have done (I'm not using
client-side validation, by the way - customer requirement):

1) As I mentioned before, everything works fine client-side in terms of
items being added to the HtmlSelect control. I get a nice list of items in
my form, as expected. In addition, I have a hidden input field that holds a
string representation of the values, so that I can persist between
postbacks. For the sake of argument, lets call my HtmlSelect (which is
runat=server) "lstValues" and my hidden input (which is also runat=server)
"hdnValues".

2) Now, from what I understand, I should be able to truly populate the
HtmlSelect control (as .NET sees it) on the server-side, so that when
validation rolls around in the page event cycle, it will see that items have
been added. This is where confusion sets in.

3) It seems that Page_Init is too early to set any values because
"hdnValues" is always an empty string. So, that doesn't work.

4) I have tried adding IPostbackDataHandler to my page and implementing
LoadPostbackData, but this doesn't seem to work. The values are set, but the
validation still fails.

5) I have tried adding multiple other events that supposedly occur before
validation and populating lstValues there, but all to no avail. Validation
still fails.

6) I have googled and read everything that I can find, but nothing seem to
work.

This cannot be this difficult. I feel like I have all that I need on the
client-side, I just need to know what to do and where to do it in the
code-behind in order to catch the page event before validation and populate
lstValues with the items that I have. Also, from what I understand (and I
have observed the problem, so I know its true) CustomValidators don't work
with HtmlSelect - the event doesn't fire, so that is not an option either.

Any help is appreciated, I have been working on this all day....

TIA
BK

"Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
wrote in message news:OtuCBM$...
> You are pretty much right about everything. Though I would expect the
> client-side validation to still work (not necessarily ideal since it only
> works in IE...)
>
> -items need to be added server-side
> -going to dropdownlist (server control) wouldn't change anything
> -you'll need to write your own validator and use request.form
>
> Cheers,
> Karl
>
> --
> MY ASP.Net tutorials
> http://www.openmymind.net/ - New and Improved (yes, the popup is
> annoying)
> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
> come!)
> "BK" <> wrote in message
> news:O3Fu5l%...
> > OK, this sort of makes sense to me. But, all the documentation that I

have
> > read says that the RequiredFieldValidator works with an HtmlSelect

server
> > control. I guess what you are saying is that the items need to be added
> > server-side for this to work?
> >
> > Also, if this is the case, then is there a way to add them to the
> > viewstate
> > in the described scenario or will I have to do some kind of convoluted
> > CustomValidation where I check the Request collection? Based upon the

FAQ
> > below, I am assuming that converting to web controls wouldn't solve the
> > problem either - this seems to be a client vs server side issue with
> > regard
> > to how the validation works.
> >
> > Brian
> >
> > "Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
> > wrote in message news:uP$6M$...
> >> I wouldn't expect server-side validation to work on client-side added

> > items.
> >>
> >> Take a look at: http://openmymind.net/FAQ.aspx?documentId=1
> >>
> >> but the quick answer is that when you add items in javascript, they
> >> aren't
> >> added to the viewstate which means they won't be recreated on
> >> postback...explains why your htmlselect is empty...
> >>
> >> Karl
> >>
> >>
> >> --
> >> MY ASP.Net tutorials
> >> http://www.openmymind.net/ - New and Improved (yes, the popup is
> >> annoying)
> >> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
> >> come!)
> >>
> >>
> >> "BK" <> wrote in message
> >> news:...
> >> > I'm having a really strange problem with and HtmlSelect server

control
> >> > (listbox) and a RequiredFieldValidator that I am trying to use to

make
> >> > sure
> >> > that someone has items in the listbox.
> >> >
> >> > The way that the HtmlSelect is populated is via a combination of
> >> > client-side
> >> > javascript and another aspx page (launched by the javascript).
> >> >
> >> > Anyway, everything seems to work just fine in terms of populating the
> >> > HtmlSelect. However, when I postback the form, the

> > RequiredFieldValidator
> >> > always thinks that there is nothing in the HtmlSelect and fails

> > validation
> >> > (I am only using server-side validation, by the way). I have the
> >> > ControlToValidate and all those things hooked up properly. Is there
> >> > some
> >> > trick to setting the RequiredFieldValidator for an HtmlSelect

control?
> >> > Some
> >> > property that I am not setting?? I suspect that there is some small
> >> > setting
> >> > that I am missing, but I have spent way too much time on this to keep
> >> > struggling.
> >> >
> >> > Any help is appreciated,
> >> > Thanks
> >> >
> >> >
> >>
> >>

> >
> >

>
>



 
Reply With Quote
 
BK
Guest
Posts: n/a
 
      05-04-2005
Thanks. I'm still having problems with this - I posted the details in a
previous message. Everything on the client side of the house works fine. I
just cannot seem to figure out what to do on the server side to convince
..NET that there is something in the HtmlSelect. I have tried MANY different
ways and all of them fail validation.

"Brock Allen" <> wrote in message
news: ...
> > OK, this sort of makes sense to me. But, all the documentation that I
> > have read says that the RequiredFieldValidator works with an
> > HtmlSelect server control. I guess what you are saying is that the
> > items need to be added server-side for this to work?

>
> Yes, you're correct. If you look at the javascript emitted when you do

have
> server side validation controls you'll see there's an array that's

initalized
> at the bottom somewhere with the IDs of all the client side validation

elements.
> This is what the client side framework drives off of.
>
> -Brock
> DevelopMentor
> http://staff.develop.com/ballen
>
>
>



 
Reply With Quote
 
Karl Seguin
Guest
Posts: n/a
 
      05-04-2005
The information will be available in the Page_Load event. It's loaded in
the LoadPostbackData event of the individual contorl - not the pages.

Why not just write your own validation event....By the time you get to a
bottom's click event, the data is there, write a function "IsCustomValide()"
which checks to see if hdnValues has a value?

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"BK" <> wrote in message
news:...
> I'm still having trouble with this, here is what I have done (I'm not
> using
> client-side validation, by the way - customer requirement):
>
> 1) As I mentioned before, everything works fine client-side in terms of
> items being added to the HtmlSelect control. I get a nice list of items in
> my form, as expected. In addition, I have a hidden input field that holds
> a
> string representation of the values, so that I can persist between
> postbacks. For the sake of argument, lets call my HtmlSelect (which is
> runat=server) "lstValues" and my hidden input (which is also runat=server)
> "hdnValues".
>
> 2) Now, from what I understand, I should be able to truly populate the
> HtmlSelect control (as .NET sees it) on the server-side, so that when
> validation rolls around in the page event cycle, it will see that items
> have
> been added. This is where confusion sets in.
>
> 3) It seems that Page_Init is too early to set any values because
> "hdnValues" is always an empty string. So, that doesn't work.
>
> 4) I have tried adding IPostbackDataHandler to my page and implementing
> LoadPostbackData, but this doesn't seem to work. The values are set, but
> the
> validation still fails.
>
> 5) I have tried adding multiple other events that supposedly occur before
> validation and populating lstValues there, but all to no avail. Validation
> still fails.
>
> 6) I have googled and read everything that I can find, but nothing seem to
> work.
>
> This cannot be this difficult. I feel like I have all that I need on the
> client-side, I just need to know what to do and where to do it in the
> code-behind in order to catch the page event before validation and
> populate
> lstValues with the items that I have. Also, from what I understand (and I
> have observed the problem, so I know its true) CustomValidators don't work
> with HtmlSelect - the event doesn't fire, so that is not an option either.
>
> Any help is appreciated, I have been working on this all day....
>
> TIA
> BK
>
> "Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
> wrote in message news:OtuCBM$...
>> You are pretty much right about everything. Though I would expect the
>> client-side validation to still work (not necessarily ideal since it only
>> works in IE...)
>>
>> -items need to be added server-side
>> -going to dropdownlist (server control) wouldn't change anything
>> -you'll need to write your own validator and use request.form
>>
>> Cheers,
>> Karl
>>
>> --
>> MY ASP.Net tutorials
>> http://www.openmymind.net/ - New and Improved (yes, the popup is
>> annoying)
>> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
>> come!)
>> "BK" <> wrote in message
>> news:O3Fu5l%...
>> > OK, this sort of makes sense to me. But, all the documentation that I

> have
>> > read says that the RequiredFieldValidator works with an HtmlSelect

> server
>> > control. I guess what you are saying is that the items need to be added
>> > server-side for this to work?
>> >
>> > Also, if this is the case, then is there a way to add them to the
>> > viewstate
>> > in the described scenario or will I have to do some kind of convoluted
>> > CustomValidation where I check the Request collection? Based upon the

> FAQ
>> > below, I am assuming that converting to web controls wouldn't solve the
>> > problem either - this seems to be a client vs server side issue with
>> > regard
>> > to how the validation works.
>> >
>> > Brian
>> >
>> > "Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
>> > wrote in message news:uP$6M$...
>> >> I wouldn't expect server-side validation to work on client-side added
>> > items.
>> >>
>> >> Take a look at: http://openmymind.net/FAQ.aspx?documentId=1
>> >>
>> >> but the quick answer is that when you add items in javascript, they
>> >> aren't
>> >> added to the viewstate which means they won't be recreated on
>> >> postback...explains why your htmlselect is empty...
>> >>
>> >> Karl
>> >>
>> >>
>> >> --
>> >> MY ASP.Net tutorials
>> >> http://www.openmymind.net/ - New and Improved (yes, the popup is
>> >> annoying)
>> >> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
>> >> come!)
>> >>
>> >>
>> >> "BK" <> wrote in message
>> >> news:...
>> >> > I'm having a really strange problem with and HtmlSelect server

> control
>> >> > (listbox) and a RequiredFieldValidator that I am trying to use to

> make
>> >> > sure
>> >> > that someone has items in the listbox.
>> >> >
>> >> > The way that the HtmlSelect is populated is via a combination of
>> >> > client-side
>> >> > javascript and another aspx page (launched by the javascript).
>> >> >
>> >> > Anyway, everything seems to work just fine in terms of populating
>> >> > the
>> >> > HtmlSelect. However, when I postback the form, the
>> > RequiredFieldValidator
>> >> > always thinks that there is nothing in the HtmlSelect and fails
>> > validation
>> >> > (I am only using server-side validation, by the way). I have the
>> >> > ControlToValidate and all those things hooked up properly. Is there
>> >> > some
>> >> > trick to setting the RequiredFieldValidator for an HtmlSelect

> control?
>> >> > Some
>> >> > property that I am not setting?? I suspect that there is some small
>> >> > setting
>> >> > that I am missing, but I have spent way too much time on this to
>> >> > keep
>> >> > struggling.
>> >> >
>> >> > Any help is appreciated,
>> >> > Thanks
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >

>>
>>

>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
HtmlSelect and PostBack? xenophon ASP .Net 3 03-07-2005 04:11 AM
Problem with HTMLSelect.SelectedIndex and client disabled property Harry Keck ASP .Net Web Controls 0 01-27-2005 03:19 PM
ASP.NET 2.0: Are they going to fix HtmlSelect? nospam ASP .Net 4 10-16-2003 02:53 PM
accessing elements added htmlselect using javascript Suhail A, Salman ASP .Net 1 08-13-2003 12:28 PM
HtmlSelect control is not helping and client side coding became a real headache Suhail A, Salman ASP .Net 0 08-13-2003 10:38 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57