protected override bool Validate()
{
bool valid = true;
bool ok2Validate = true;
IValidatable iValidatatble = ControlToValidate.Parent as IValidatable;
if (iValidatatble != null)
ok2Validate = iValidatatble.Ok2Validate();
if (IsEnabled
&& ControlToValidate != null
&& ControlToValidate.Enabled
&& ErrorProvider != null
&& ok2Validate )
{
// Is valid if different than initial value,
// which is not necessarily an empty string
string controlValue = ControlToValidate.Text.Trim();
string initialValue;
if (_initialValue == null) initialValue = "";
else initialValue = _initialValue.Trim();
_isValid = (controlValue != initialValue);
string errorMessage = "";
if (!_isValid)
{
errorMessage = _errorMessage;
if (_icon != null)
ErrorProvider.Icon = _icon;
valid = false;
if (ControlToValidate is ATMLControl)
( (ATMLControl) ControlToValidate ).HasErrors = true;
}
ErrorProvider.SetError(_controlToValidate, errorMessage);
}
return valid;
}