misc: simplify live validation response json (#76953) #827

Merged
fpeters merged 1 commits from wip/76953-live-validation-error-json into main 2023-11-13 09:58:35 +01:00
3 changed files with 6 additions and 13 deletions

View File

@ -2533,14 +2533,14 @@ def test_field_live_validation(pub):
resp.form['f1'] = ''
live_resp = app.post(url + '?field=f1', params=resp.form.submit_fields())
assert live_resp.json == {'err': 1, 'msg': 'required field', 'valueMissing': True}
assert live_resp.json == {'err': 1, 'msg': 'required field', 'errorType': 'valueMissing'}
resp.form['f1'] = 'abc'
live_resp = app.post(url + '?field=f1', params=resp.form.submit_fields())
assert live_resp.json == {
'err': 1,
'msg': 'You should enter digits only, for example: 123.',
'badInput': True,
'errorType': 'badInput',
}
@ -2573,14 +2573,14 @@ def test_block_field_live_validation(pub):
resp.form['f2$element0$f1'] = ''
live_resp = app.post(url + '?field=f2__element0__f1', params=resp.form.submit_fields())
assert live_resp.json == {'err': 1, 'msg': 'required field', 'valueMissing': True}
assert live_resp.json == {'err': 1, 'msg': 'required field', 'errorType': 'valueMissing'}
resp.form['f2$element0$f1'] = 'abc'
live_resp = app.post(url + '?field=f2__element0__f1', params=resp.form.submit_fields())
assert live_resp.json == {
'err': 1,
'msg': 'You should enter digits only, for example: 123.',
'badInput': True,
'errorType': 'badInput',
}
live_resp = app.post(url + '?field=f2__element0__fX', params=resp.form.submit_fields())

View File

@ -1781,7 +1781,7 @@ class FormPage(Directory, TempfileDirectoryMixin, FormTemplateMixin):
resp = {'err': 1, 'msg': str(error)}
if hasattr(widget, 'error_code'):
error_message = ErrorMessage(widget.error_code, '')
resp[error_message.camel_code()] = True
resp['errorType'] = error_message.camel_code()
return json.dumps(resp)
else:
return json.dumps({'err': 0})

View File

@ -920,14 +920,7 @@ const LiveValidation = (function(){
if (json.err !== 1) return
let errorType
for (const key in json) {
if (json[key] === true) {
errorType = key
break
}
}
return [errorType, json.msg]
return [json.errorType, json.msg]
}
class FieldLiveValidation {