Quellcode durchsuchen

Add `Input.error` property

Itay Raveh vor 2 Jahren
Ursprung
Commit
3b7a4e7f4f
1 geänderte Dateien mit 7 neuen und 0 gelöschten Zeilen
  1. 7 0
      nicegui/elements/input.py

+ 7 - 0
nicegui/elements/input.py

@@ -53,6 +53,7 @@ class Input(ValueElement, DisableableElement):
                 icon = Icon('visibility_off').classes('cursor-pointer').on('click', toggle_type)
 
         self.validation = validation or {}
+        self._error: Optional[str] = None
 
         if autocomplete:
             def find_autocompletion() -> Optional[str]:
@@ -79,7 +80,13 @@ class Input(ValueElement, DisableableElement):
         super().on_value_change(value)
         for message, check in self.validation.items():
             if not check(value):
+                self._error = message
                 self.props(f'error error-message="{message}"')
                 break
         else:
             self.props(remove='error')
+
+    @property
+    def error(self) -> Optional[str]:
+        """The latest error message from the validation functions."""
+        return self._error