瀏覽代碼

Add `Input.error` property

Itay Raveh 2 年之前
父節點
當前提交
3b7a4e7f4f
共有 1 個文件被更改,包括 7 次插入0 次删除
  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