Bläddra i källkod

add some check and warning

wangweimin 5 år sedan
förälder
incheckning
3ac05e4209
2 ändrade filer med 4 tillägg och 2 borttagningar
  1. 2 0
      pywebio/input.py
  2. 2 2
      pywebio/io_ctrl.py

+ 2 - 0
pywebio/input.py

@@ -361,6 +361,8 @@ def input_group(label='', inputs=None, valid_func=None):
             "`inputs` value error in `input_group`. Did you forget to add `name` parameter in input function?")
 
         input_name = input_kwargs['item_spec']['name']
+        if input_name in preprocess_funcs:
+            raise ValueError("Can't use same `name`:%s in different input in input group!!" % input_name)
         preprocess_funcs[input_name] = input_kwargs['preprocess_func']
         item_valid_funcs[input_name] = input_kwargs['valid_func']
         spec_inputs.append(input_kwargs['item_spec'])

+ 2 - 2
pywebio/io_ctrl.py

@@ -83,8 +83,8 @@ def check_item(name, data, valid_func, preprocess_func):
     try:
         data = preprocess_func(data)
         error_msg = valid_func(data)
-    except:
-        # todo log warning
+    except Exception as e:
+        logger.warning('Get %r in valid_func for name:"%s"', e, name)
         error_msg = '字段内容不合法'
     if error_msg is not None:
         send_msg('update_input', dict(target_name=name, attributes={