fix: update模板空值处理 - 空字段跳过验证和更新
- 空字符串/None/NaN/null字段从ns中删除(除id外) - 验证规则跳过空值(Update时空=未修改) - 避免sor.U()用空值覆盖现有数据
This commit is contained in:
parent
1d0a187fca
commit
981da3d1e5
@ -329,9 +329,12 @@ return {
|
||||
"""
|
||||
data_update_tmpl = """
|
||||
ns = params_kw.copy()
|
||||
for k,v in ns.items():
|
||||
if v == 'NaN' or v == 'null':
|
||||
ns[k] = None
|
||||
for k,v in list(ns.items()):
|
||||
if v == 'NaN' or v == 'null' or v == '' or v is None:
|
||||
if k != 'id':
|
||||
del ns[k]
|
||||
else:
|
||||
ns[k] = None if v in ('NaN', 'null') else v
|
||||
{% if logined_userid %}
|
||||
userid = await get_user()
|
||||
if not userid:
|
||||
@ -374,6 +377,9 @@ for _fname, _rules in _validation_rules.items():
|
||||
\t_val = params_kw.get(_fname, '')
|
||||
\tif _val is None: _val = ''
|
||||
\t_val = str(_val)
|
||||
\t# Update: skip validation if field is empty (not modified)
|
||||
\tif not _val or _val.strip() == '':
|
||||
\t\tcontinue
|
||||
\tfor _rule in _rules:
|
||||
\t\t_rt = _rule.get('type', '')
|
||||
\t\t_rm = _rule.get('message', _fname)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user