Pārlūkot izejas kodu

Merge pull request #1781 from zauberzeug/validate

Introduce `validate()` method for validation elements
Falko Schindler 1 gadu atpakaļ
vecāks
revīzija
9d7e0ffd56
1 mainītis faili ar 7 papildinājumiem un 3 dzēšanām
  1. 7 3
      nicegui/elements/mixins/validation_element.py

+ 7 - 3
nicegui/elements/mixins/validation_element.py

@@ -15,13 +15,17 @@ class ValidationElement(ValueElement):
         """The latest error message from the validation functions."""
         return self._error
 
-    def on_value_change(self, value: Any) -> None:
-        super().on_value_change(value)
+    def validate(self) -> None:
+        """Validate the current value and set the error message if necessary."""
         for message, check in self.validation.items():
-            if not check(value):
+            if not check(self.value):
                 self._error = message
                 self.props(f'error error-message="{message}"')
                 break
         else:
             self._error = None
             self.props(remove='error')
+
+    def on_value_change(self, value: Any) -> None:
+        super().on_value_change(value)
+        self.validate()