From e8a187d5caa8ec8bda572fbf54c16fefbe9642e6 Mon Sep 17 00:00:00 2001 From: Trumeet Date: Sun, 4 Apr 2021 14:27:21 -0700 Subject: fix(central): node form returns to a new form if any fields are invalid --- .../main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java b/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java index f0375ce..1450cff 100644 --- a/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java +++ b/central/src/main/java/moe/yuuta/dn42peering/admin/nodes/NodeHandler.java @@ -215,10 +215,15 @@ public class NodeHandler implements ISubRouter { }) .onFailure(err -> { if (err instanceof FormException) { + final Node node = (Node) ((FormException) err).data; + if(node != null) { + // The exception may be generated from parseForm. + node.setId(Integer.parseInt(id)); // It must work. + } NodeAdminUI.renderForm(engine, nodeService, asn, - true, - ((Node) ((FormException) err).data), + false, + node, Arrays.asList(((FormException) err).errors), ctx); } else { -- cgit v1.2.3