Skip to content

Commit 94e9b47

Browse files
committed
perf: 优化各模块表单校验方式
1 parent 0337ed6 commit 94e9b47

File tree

15 files changed

+95
-74
lines changed

15 files changed

+95
-74
lines changed

dash-fastapi-frontend/callbacks/forget_c.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from dash.exceptions import PreventUpdate
66

77
from server import app
8+
from utils.common import validate_data_not_empty
89
from api.user import forget_user_pwd_api
910
from api.message import send_message_api
1011

@@ -38,7 +39,7 @@
3839
def forget_auth(nClicks, username, password, password_again, input_captcha, session_id):
3940
if nClicks:
4041
# 校验全部输入值是否不为空
41-
if all([username, password, password_again, input_captcha]):
42+
if all(validate_data_not_empty(item) for item in [username, password, password_again, input_captcha]):
4243

4344
if password == password_again:
4445
try:
@@ -107,14 +108,14 @@ def forget_auth(nClicks, username, password, password_again, input_captcha, sess
107108
)
108109

109110
return dict(
110-
username_form_status=None if username else 'error',
111-
password_form_status=None if password else 'error',
112-
password_again_form_status=None if password_again else 'error',
113-
captcha_form_status=None if input_captcha else 'error',
114-
username_form_help=None if username else '请输入用户名!',
115-
password_form_help=None if password else '请输入新密码!',
116-
password_again_form_help=None if password_again else '请再次输入新密码!',
117-
captcha_form_help=None if input_captcha else '请输入短信验证码!',
111+
username_form_status=None if validate_data_not_empty(username) else 'error',
112+
password_form_status=None if validate_data_not_empty(password) else 'error',
113+
password_again_form_status=None if validate_data_not_empty(password_again) else 'error',
114+
captcha_form_status=None if validate_data_not_empty(input_captcha) else 'error',
115+
username_form_help=None if validate_data_not_empty(username) else '请输入用户名!',
116+
password_form_help=None if validate_data_not_empty(password) else '请输入新密码!',
117+
password_again_form_help=None if validate_data_not_empty(password_again) else '请再次输入新密码!',
118+
captcha_form_help=None if validate_data_not_empty(input_captcha) else '请输入短信验证码!',
118119
submit_loading=False,
119120
redirect_container=None,
120121
global_message_container=None

dash-fastapi-frontend/callbacks/login_c.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import time
77

88
from server import app
9+
from utils.common import validate_data_not_empty
910
from api.login import login_api, get_captcha_image_api
1011

1112

@@ -41,7 +42,7 @@ def login_auth(nClicks, username, password, input_captcha, session_id, image_cli
4142
if captcha_hidden:
4243
input_captcha = 'hidden'
4344
# 校验全部输入值是否不为空
44-
if all([username, password, input_captcha]):
45+
if all(validate_data_not_empty(item) for item in [username, password, input_captcha]):
4546

4647
try:
4748
user_params = dict(username=username, password=password, captcha=input_captcha, session_id=session_id)
@@ -95,12 +96,12 @@ def login_auth(nClicks, username, password, input_captcha, session_id, image_cli
9596
)
9697

9798
return dict(
98-
username_form_status=None if username else 'error',
99-
password_form_status=None if password else 'error',
100-
captcha_form_status=None if input_captcha else 'error',
101-
username_form_help=None if username else '请输入用户名!',
102-
password_form_help=None if password else '请输入密码!',
103-
captcha_form_help=None if input_captcha else '请输入验证码!',
99+
username_form_status=None if validate_data_not_empty(username) else 'error',
100+
password_form_status=None if validate_data_not_empty(password) else 'error',
101+
captcha_form_status=None if validate_data_not_empty(input_captcha) else 'error',
102+
username_form_help=None if validate_data_not_empty(username) else '请输入用户名!',
103+
password_form_help=None if validate_data_not_empty(password) else '请输入密码!',
104+
captcha_form_help=None if validate_data_not_empty(input_captcha) else '请输入验证码!',
104105
image_click=dash.no_update,
105106
submit_loading=False,
106107
token=None,

dash-fastapi-frontend/callbacks/monitor_c/job_c/job_c.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import feffery_utils_components as fuc
99

1010
from server import app
11+
from utils.common import validate_data_not_empty
1112
from api.job import get_job_list_api, get_job_detail_api, add_job_api, edit_job_api, execute_job_api, delete_job_api, export_job_list_api
1213
from api.dict import query_dict_data_list_api
1314

@@ -334,7 +335,7 @@ def job_confirm(confirm_trigger, modal_type, edit_row_info, form_value, form_lab
334335
# 获取所有输入表单项对应的value及label
335336
form_value_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-2]}
336337
form_label_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-1]}
337-
if all([form_value_state.get(k) for k in form_label_output_list]):
338+
if all(validate_data_not_empty(item) for item in [form_value_state.get(k) for k in form_label_output_list]):
338339
params_add = form_value_state
339340
params_edit = params_add.copy()
340341
params_edit['job_id'] = edit_row_info.get('job_id') if edit_row_info else None
@@ -374,8 +375,8 @@ def job_confirm(confirm_trigger, modal_type, edit_row_info, form_value, form_lab
374375
)
375376

376377
return dict(
377-
form_label_validate_status=[None if form_value_state.get(k) else 'error' for k in form_label_output_list],
378-
form_label_validate_info=[None if form_value_state.get(k) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
378+
form_label_validate_status=[None if validate_data_not_empty(form_value_state.get(k)) else 'error' for k in form_label_output_list],
379+
form_label_validate_info=[None if validate_data_not_empty(form_value_state.get(k)) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
379380
modal_visible=dash.no_update,
380381
operations=dash.no_update,
381382
api_check_token_trigger=dash.no_update,

dash-fastapi-frontend/callbacks/system_c/config_c.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import feffery_utils_components as fuc
88

99
from server import app
10+
from utils.common import validate_data_not_empty
1011
from api.config import get_config_list_api, get_config_detail_api, add_config_api, edit_config_api, delete_config_api, export_config_list_api, refresh_config_api
1112

1213

@@ -297,7 +298,7 @@ def add_edit_config_modal(operation_click, button_click, selected_row_keys, clic
297298
),
298299
prevent_initial_call=True
299300
)
300-
def dict_type_confirm(confirm_trigger, modal_type, edit_row_info, form_value, form_label):
301+
def config_confirm(confirm_trigger, modal_type, edit_row_info, form_value, form_label):
301302
"""
302303
新增或编辑参数设置弹窗确认回调,实现新增或编辑操作
303304
"""
@@ -307,7 +308,7 @@ def dict_type_confirm(confirm_trigger, modal_type, edit_row_info, form_value, fo
307308
# 获取所有输入表单项对应的value及label
308309
form_value_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-2]}
309310
form_label_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-1]}
310-
if all([form_value_state.get(k) for k in form_label_output_list]):
311+
if all(validate_data_not_empty(item) for item in [form_value_state.get(k) for k in form_label_output_list]):
311312
params_add = form_value_state
312313
params_edit = params_add.copy()
313314
params_edit['config_id'] = edit_row_info.get('config_id') if edit_row_info else None
@@ -347,8 +348,8 @@ def dict_type_confirm(confirm_trigger, modal_type, edit_row_info, form_value, fo
347348
)
348349

349350
return dict(
350-
form_label_validate_status=[None if form_value_state.get(k) else 'error' for k in form_label_output_list],
351-
form_label_validate_info=[None if form_value_state.get(k) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
351+
form_label_validate_status=[None if validate_data_not_empty(form_value_state.get(k)) else 'error' for k in form_label_output_list],
352+
form_label_validate_info=[None if validate_data_not_empty(form_value_state.get(k)) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
352353
modal_visible=dash.no_update,
353354
operations=dash.no_update,
354355
api_check_token_trigger=dash.no_update,

dash-fastapi-frontend/callbacks/system_c/dept_c.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import feffery_utils_components as fuc
77

88
from server import app
9+
from utils.common import validate_data_not_empty
910
from utils.tree_tool import list_to_tree
1011
from api.dept import get_dept_tree_api, get_dept_list_api, add_dept_api, edit_dept_api, delete_dept_api, \
1112
get_dept_detail_api, get_dept_tree_for_edit_option_api
@@ -304,7 +305,7 @@ def dept_confirm(confirm_trigger, modal_type, edit_row_info, form_value, form_la
304305
# 获取所有输入表单项对应的value及label
305306
form_value_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-2]}
306307
form_label_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-1]}
307-
if all([form_value_state.get(k) for k in form_label_output_list]):
308+
if all(validate_data_not_empty(item) for item in [form_value_state.get(k) for k in form_label_output_list]):
308309
params_add = form_value_state
309310
params_edit = params_add.copy()
310311
params_edit['dept_id'] = edit_row_info.get('dept_id') if edit_row_info else None
@@ -344,8 +345,8 @@ def dept_confirm(confirm_trigger, modal_type, edit_row_info, form_value, form_la
344345
)
345346

346347
return dict(
347-
form_label_validate_status=[None if form_value_state.get(k) else 'error' for k in form_label_output_list],
348-
form_label_validate_info=[None if form_value_state.get(k) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
348+
form_label_validate_status=[None if validate_data_not_empty(form_value_state.get(k)) else 'error' for k in form_label_output_list],
349+
form_label_validate_info=[None if validate_data_not_empty(form_value_state.get(k)) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
349350
modal_visible=dash.no_update,
350351
operations=dash.no_update,
351352
api_check_token_trigger=dash.no_update,

dash-fastapi-frontend/callbacks/system_c/dict_c/dict_c.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import feffery_utils_components as fuc
88

99
from server import app
10+
from utils.common import validate_data_not_empty
1011
from api.dict import get_dict_type_list_api, get_all_dict_type_api, get_dict_type_detail_api, add_dict_type_api, edit_dict_type_api, delete_dict_type_api, export_dict_type_list_api, refresh_dict_api
1112

1213

@@ -311,7 +312,7 @@ def dict_type_confirm(confirm_trigger, modal_type, edit_row_info, form_value, fo
311312
# 获取所有输入表单项对应的value及label
312313
form_value_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-2]}
313314
form_label_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-1]}
314-
if all([form_value_state.get(k) for k in form_label_output_list]):
315+
if all(validate_data_not_empty(item) for item in [form_value_state.get(k) for k in form_label_output_list]):
315316
params_add = form_value_state
316317
params_edit = params_add.copy()
317318
params_edit['dict_id'] = edit_row_info.get('dict_id') if edit_row_info else None
@@ -351,8 +352,8 @@ def dict_type_confirm(confirm_trigger, modal_type, edit_row_info, form_value, fo
351352
)
352353

353354
return dict(
354-
form_label_validate_status=[None if form_value_state.get(k) else 'error' for k in form_label_output_list],
355-
form_label_validate_info=[None if form_value_state.get(k) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
355+
form_label_validate_status=[None if validate_data_not_empty(form_value_state.get(k)) else 'error' for k in form_label_output_list],
356+
form_label_validate_info=[None if validate_data_not_empty(form_value_state.get(k)) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
356357
modal_visible=dash.no_update,
357358
operations=dash.no_update,
358359
api_check_token_trigger=dash.no_update,

dash-fastapi-frontend/callbacks/system_c/dict_c/dict_data_c.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import feffery_utils_components as fuc
88

99
from server import app
10+
from utils.common import validate_data_not_empty
1011
from api.dict import get_dict_data_list_api, get_dict_data_detail_api, add_dict_data_api, edit_dict_data_api, delete_dict_data_api, export_dict_data_list_api
1112

1213

@@ -306,7 +307,7 @@ def dict_data_confirm(confirm_trigger, modal_type, edit_row_info, form_value, fo
306307
# 获取所有输入表单项对应的value及label
307308
form_value_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-2]}
308309
form_label_state = {x['id']['index']: x.get('value') for x in dash.ctx.states_list[-1]}
309-
if all([form_value_state.get(k) for k in form_label_output_list]):
310+
if all(validate_data_not_empty(item) for item in [form_value_state.get(k) for k in form_label_output_list]):
310311
params_add = form_value_state
311312
params_edit = params_add.copy()
312313
params_edit['dict_code'] = edit_row_info.get('dict_code') if edit_row_info else None
@@ -346,8 +347,8 @@ def dict_data_confirm(confirm_trigger, modal_type, edit_row_info, form_value, fo
346347
)
347348

348349
return dict(
349-
form_label_validate_status=[None if form_value_state.get(k) else 'error' for k in form_label_output_list],
350-
form_label_validate_info=[None if form_value_state.get(k) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
350+
form_label_validate_status=[None if validate_data_not_empty(form_value_state.get(k)) else 'error' for k in form_label_output_list],
351+
form_label_validate_info=[None if validate_data_not_empty(form_value_state.get(k)) else f'{form_label_state.get(k)}不能为空!' for k in form_label_output_list],
351352
modal_visible=dash.no_update,
352353
operations=dash.no_update,
353354
api_check_token_trigger=dash.no_update,

dash-fastapi-frontend/callbacks/system_c/menu_c/components_c/button_type_c.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import feffery_utils_components as fuc
66

77
from server import app
8+
from utils.common import validate_data_not_empty
89
from api.menu import add_menu_api, edit_menu_api
910

1011

@@ -43,7 +44,7 @@ def menu_confirm_button(confirm_trigger, modal_type, edit_row_info, parent_id, m
4344
菜单类型为按钮时新增或编辑弹窗确认回调,实现新增或编辑操作
4445
"""
4546
if confirm_trigger:
46-
if all([parent_id, menu_name, order_num]):
47+
if all(validate_data_not_empty(item) for item in [parent_id, menu_name, order_num]):
4748
params_add = dict(parent_id=parent_id, menu_type=menu_type, icon=icon, menu_name=menu_name, order_num=order_num, perms=perms)
4849
params_edit = dict(menu_id=edit_row_info.get('menu_id') if edit_row_info else None, parent_id=parent_id, menu_type=menu_type, icon=icon,
4950
menu_name=menu_name, order_num=order_num, perms=perms)
@@ -81,12 +82,12 @@ def menu_confirm_button(confirm_trigger, modal_type, edit_row_info, parent_id, m
8182

8283
return dict(
8384
form_validate=[
84-
None if parent_id else 'error',
85-
None if menu_name else 'error',
86-
None if order_num else 'error',
87-
None if parent_id else '请选择上级菜单!',
88-
None if menu_name else '请输入菜单名称!',
89-
None if order_num else '请输入显示排序!'
85+
None if validate_data_not_empty(parent_id) else 'error',
86+
None if validate_data_not_empty(menu_name) else 'error',
87+
None if validate_data_not_empty(order_num) else 'error',
88+
None if validate_data_not_empty(parent_id) else '请选择上级菜单!',
89+
None if validate_data_not_empty(menu_name) else '请输入菜单名称!',
90+
None if validate_data_not_empty(order_num) else '请输入显示排序!'
9091
],
9192
modal_visible=dash.no_update,
9293
operations=dash.no_update,

dash-fastapi-frontend/callbacks/system_c/menu_c/components_c/content_type_c.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import feffery_utils_components as fuc
66

77
from server import app
8+
from utils.common import validate_data_not_empty
89
from api.menu import add_menu_api, edit_menu_api
910

1011

@@ -48,7 +49,7 @@ def menu_confirm_content(confirm_trigger, modal_type, edit_row_info, parent_id,
4849
菜单类型为目录时新增或编辑弹窗确认回调,实现新增或编辑操作
4950
"""
5051
if confirm_trigger:
51-
if all([parent_id, menu_name, order_num, path]):
52+
if all(validate_data_not_empty(item) for item in [parent_id, menu_name, order_num, path]):
5253
params_add = dict(parent_id=parent_id, menu_type=menu_type, icon=icon, menu_name=menu_name, order_num=order_num,
5354
is_frame=is_frame, path=path, visible=visible, status=status)
5455
params_edit = dict(menu_id=edit_row_info.get('menu_id') if edit_row_info else None, parent_id=parent_id, menu_type=menu_type, icon=icon,
@@ -87,14 +88,14 @@ def menu_confirm_content(confirm_trigger, modal_type, edit_row_info, parent_id,
8788

8889
return dict(
8990
form_validate=[
90-
None if parent_id else 'error',
91-
None if menu_name else 'error',
92-
None if order_num else 'error',
93-
None if path else 'error',
94-
None if parent_id else '请选择上级菜单!',
95-
None if menu_name else '请输入菜单名称!',
96-
None if order_num else '请输入显示排序!',
97-
None if path else '请输入路由地址!',
91+
None if validate_data_not_empty(parent_id) else 'error',
92+
None if validate_data_not_empty(menu_name) else 'error',
93+
None if validate_data_not_empty(order_num) else 'error',
94+
None if validate_data_not_empty(path) else 'error',
95+
None if validate_data_not_empty(parent_id) else '请选择上级菜单!',
96+
None if validate_data_not_empty(menu_name) else '请输入菜单名称!',
97+
None if validate_data_not_empty(order_num) else '请输入显示排序!',
98+
None if validate_data_not_empty(path) else '请输入路由地址!',
9899
],
99100
modal_visible=dash.no_update,
100101
operations=dash.no_update,

0 commit comments

Comments
 (0)