Custom valideringskontrol
Hejsa.Jeg har forsøgt at lave min egen valideringskontrol som nedarver fra typen BaseValidator. Det fungerer dog ikke helt som jeg havde forventet.
Koden er her:
public class MyValidator : BaseValidator
{
private TextBox _textctrl;
public MyValidator()
{
base.EnableClientScript = false;
}
protected override bool ControlPropertiesValid()
{
Control ctrl = FindControl(ControlToValidate);
if (ctrl != null)
{
_textctrl = (TextBox) ctrl;
return (_textctrl != null);
}
else
return false; // raise exception
}
protected override bool EvaluateIsValid()
{
// Check if the input string is a valid object name
return Regex.IsMatch(_textctrl.Text, "^[a-zA-Z0-9_ -]+$");
}
}
Jeg har en dialog med en form i. I denne form er der et tekst felt (asp:textbox). Denne får sat sin værdi ved Page_Load(). Når valideringsmetoden EvaluateIsValid() bliver kaldt, så får den værdien som tekstfeltet fik sat ved Page_Load(), i stedet for den eventuelle nye værdi som måtte være indtastet.
Dvs, hvis der står en ikke-valid værdi fra start, så vil den aldrig validere fordi den hele tiden tester på den ikke-valide værdi.
Jeg har også forsøgt mig med "GetControlValidationValue()" metoden, men den resulterer i samme problem.
Kan i hjælpe mig? :)
