validator method
Sets the validator of this DOMElement.
Implementation
StreamSubscription<DOMEvent> validator(Function validator,
    {String? errorClass, String? validClass}) {
  return onChange.listen((_) {
    Object? result;
    var rt = runtime;
    if (validator is Function(DOMElement)) {
      result = validator(this);
    } else if (validator is Function(String?)) {
      var value = rt.value;
      result = validator(value);
    } else if (validator is Function(String)) {
      var value = rt.value ?? '';
      result = validator(value);
    } else if (validator is Function(Object)) {
      var node = rt.node;
      result = validator(node);
    }
    var valid = parseBool(result, false)!;
    if (valid) {
      if (errorClass != null) rt.removeClass(errorClass);
      if (validClass != null) rt.addClass(validClass);
    } else {
      if (validClass != null) rt.removeClass(validClass);
      if (errorClass != null) rt.addClass(errorClass);
    }
  });
}