Problem with CustomValidator

  • Thread starter Thread starter Nathan Sokalski
  • Start date Start date
N

Nathan Sokalski

I want to make sure that the SelectedDate property of the Calendar control
is later than the current date or that a certain checkbox is selected. I
tried to use a CustomValidator control with the following code:

Private Sub validTimeFrame_ServerValidate(ByVal source As System.Object,
ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles
validTimeFrame.ServerValidate

If chkUnknown.Checked OrElse calTimeFrame.SelectedDate >= Date.Today Then

args.IsValid = True

Else

args.IsValid = False

End If

End Sub


As you can see, I check to see if chkUnknown is checked or if
calTimeFrame.SelectedDate>= Date.Today. If either one is true, then I assign
True to the IsValid property, otherwise I assign it a value of false.
However, when I test the page it brings up the following error:

[HttpException (0x80004005): Control 'calTimeFrame' referenced by the
ControlToValidate property of 'validTimeFrame' cannot be validated.]
System.Web.UI.WebControls.BaseValidator.CheckControlValidationProperty(String
name, String propertyName)
System.Web.UI.WebControls.CustomValidator.ControlPropertiesValid()
System.Web.UI.WebControls.BaseValidator.get_PropertiesValid()
System.Web.UI.WebControls.BaseValidator.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter
writer)
System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter writer)
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter
writer)
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter writer)
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter
writer)
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Page.ProcessRequestMain()

Because this tells me nothing more than that the control cannot be
validated, I do not know where to start. Any ideas? Thanks.
 
With a CustomValidator you don't need to assign the ControlToValidate property.

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


I want to make sure that the SelectedDate property of the Calendar
control is later than the current date or that a certain checkbox is
selected. I tried to use a CustomValidator control with the following
code:

Private Sub validTimeFrame_ServerValidate(ByVal source As
System.Object, ByVal args As
System.Web.UI.WebControls.ServerValidateEventArgs) Handles
validTimeFrame.ServerValidate

If chkUnknown.Checked OrElse calTimeFrame.SelectedDate >= Date.Today
Then

args.IsValid = True

Else

args.IsValid = False

End If

End Sub

As you can see, I check to see if chkUnknown is checked or if
calTimeFrame.SelectedDate>= Date.Today. If either one is true, then I
assign True to the IsValid property, otherwise I assign it a value of
false. However, when I test the page it brings up the following error:

[HttpException (0x80004005): Control 'calTimeFrame' referenced by the
ControlToValidate property of 'validTimeFrame' cannot be validated.]

System.Web.UI.WebControls.BaseValidator.CheckControlValidationProperty
(String
name, String propertyName)
System.Web.UI.WebControls.CustomValidator.ControlPropertiesValid()
System.Web.UI.WebControls.BaseValidator.get_PropertiesValid()
System.Web.UI.WebControls.BaseValidator.Render(HtmlTextWriter
writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter
writer)
System.Web.UI.WebControls.TableCell.RenderContents(HtmlTextWriter
writer)
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter
writer)
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.WebControls.Table.RenderContents(HtmlTextWriter
writer)
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter
writer)

System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter
writer)
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
System.Web.UI.Control.Render(HtmlTextWriter writer)
System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
System.Web.UI.Page.ProcessRequestMain()
Because this tells me nothing more than that the control cannot be
validated, I do not know where to start. Any ideas? Thanks.
 
Back
Top