diff --git a/CHANGES.rst b/CHANGES.rst
index bc67c89571..d72c591c47 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,6 +4,7 @@ Changelog
2.2.0 (unreleased)
------------------
+- #1970 Better error messages in sample add form
- #1960 AddressField and AddressWidget with React component for DX types
- #1968 Fix default roles for client field in samples
- #1962 Allow to create worksheet from samples
diff --git a/src/bika/lims/browser/analysisrequest/add2.py b/src/bika/lims/browser/analysisrequest/add2.py
index 0bb0030fde..27b67e86e2 100644
--- a/src/bika/lims/browser/analysisrequest/add2.py
+++ b/src/bika/lims/browser/analysisrequest/add2.py
@@ -1647,9 +1647,9 @@ def ajax_submit(self):
self.request,
record,
)
- except (KeyError, RuntimeError) as e:
+ except Exception as e:
actions.resume()
- errors["message"] = e.message
+ errors["message"] = str(e)
return {"errors": errors}
# We keep the title to check if AR is newly created
# and UID to print stickers
diff --git a/src/senaite/core/browser/static/js/bika.lims.analysisrequest.add.js b/src/senaite/core/browser/static/js/bika.lims.analysisrequest.add.js
index 4b8158daf7..15b92a5aeb 100644
--- a/src/senaite/core/browser/static/js/bika.lims.analysisrequest.add.js
+++ b/src/senaite/core/browser/static/js/bika.lims.analysisrequest.add.js
@@ -1377,7 +1377,7 @@
if (data['errors']) {
msg = data.errors.message;
if (msg !== "") {
- msg = msg + "
";
+ msg = _t("Sorry, an error occured 🙈
" + msg + "
"); } for (fieldname in data.errors.fielderrors) { field = $("#" + fieldname); diff --git a/src/senaite/core/browser/static/js/coffee/bika.lims.analysisrequest.add.coffee b/src/senaite/core/browser/static/js/coffee/bika.lims.analysisrequest.add.coffee index ad1236acac..22970e85e2 100644 --- a/src/senaite/core/browser/static/js/coffee/bika.lims.analysisrequest.add.coffee +++ b/src/senaite/core/browser/static/js/coffee/bika.lims.analysisrequest.add.coffee @@ -1379,7 +1379,7 @@ class window.AnalysisRequestAdd if data['errors'] msg = data.errors.message if msg isnt "" - msg = "#{msg}#{msg}
") for fieldname of data.errors.fielderrors field = $("##{fieldname}")