Validator custom control: problems
jeg har lavet følgende custom validator control:Public Class EmailKrav : Inherits BaseValidator
Protected _KravBesked As String = "Skal udfyldes"
Protected _EmailBesked As String = "Email ikke gyldig"
Private validator As RegularExpressionValidator
Public WriteOnly Property KravBesked() As String
Set(ByVal Value As String)
_KravBesked = Value
End Set
End Property
Public WriteOnly Property EmailBesked() As String
Set(ByVal Value As String)
_EmailBesked = Value
End Set
End Property
Protected Overrides Function EvaluateIsValid() As Boolean
Dim val As String
val = Me.GetControlValidationValue(Me.ControlToValidate)
validator = New RegularExpressionValidator
validator.ControlToValidate = Me.ControlToValidate
validator.ValidationExpression = "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
HttpContext.Current.Response.write(validator.ControlToValidate)
validator.Validate()
If ( val.Length = 0 ) Then
Me.Text = _KravBesked
Return False
elseif (Not validator.IsValid) then
Me.Text = _EmailBesked
Return False
else
Return true
End If
End Function
End Class
Desværre kommer den med følgende fejl:
Objektreferencen er ikke indstillet til en forekomst af et objekt.
Beskrivelse: Der opstod en ikke-afviklet undtagelse under udførelse af den aktuelle webanmodning. Se staksporingen for at få yderligere oplysninger om fejlen, og hvor den kom fra i koden.
Detaljer om undtagelse: System.NullReferenceException: Objektreferencen er ikke indstillet til en forekomst af et objekt.
Kildefejl:
Der blev oprettet en ikke-afviklet undtagelse under kørsel af den aktuelle webanmodning. Du kan finde oplysninger om undtagelsens oprindelse og placering ved hjælp af nedenstående staksporing af undtagelser.
Staksporing:
[NullReferenceException: Objektreferencen er ikke indstillet til en forekomst af et objekt.]
System.Web.UI.WebControls.BaseValidator.CheckControlValidationProperty(String name, String propertyName) +23
System.Web.UI.WebControls.BaseValidator.ControlPropertiesValid() +38
System.Web.UI.WebControls.BaseValidator.Validate() +106
Validate.EmailKrav.EvaluateIsValid() +146
System.Web.UI.WebControls.BaseValidator.Validate() +138
System.Web.UI.Page.Validate() +235
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +35
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
Jeg har set mig blind på fejlen - er der noget der kan se hvad fann der går galt
