Validation icefaces ace:树中的重新排序验证

Validation icefaces ace:树中的重新排序验证,validation,jsf,tree,icefaces,Validation,Jsf,Tree,Icefaces,我试图在icefaces中使用ace:tree组件的重新排序功能。我的树中有3种类型的节点。我的目标是在树上设置一些约束 假设节点类型为A、B和C。 A是根节点 A只能有B型子项 B可以有类型B或C的子对象 我想在不满足这些约束时阻止重新排序。如何在ace:tree中应用这种验证 编辑1 我忘了提到我已经实现了验证,但在使用拖放功能(视图更新为无效状态,模型在执行无效操作时保持原样)时,验证不起作用。我需要一种聪明的方法来刷新视图。这可以做到,而不需要知道代码的外观,您可能已经使用如下节点构建了

我试图在icefaces中使用ace:tree组件的重新排序功能。我的树中有3种类型的节点。我的目标是在树上设置一些约束

假设节点类型为A、B和C。 A是根节点 A只能有B型子项 B可以有类型B或C的子对象

我想在不满足这些约束时阻止重新排序。如何在ace:tree中应用这种验证

编辑1
我忘了提到我已经实现了验证,但在使用拖放功能(视图更新为无效状态,模型在执行无效操作时保持原样)时,验证不起作用。我需要一种聪明的方法来刷新视图。

这可以做到,而不需要知道代码的外观,您可能已经使用如下节点构建了树结构 . 因此,可以将数据模型(列表中的父节点)约束为仅接受所需的值。
您可以使用FacesMessage向用户发出不允许操作的信号

这是可以做到的,在不知道代码外观的情况下,您可能已经使用以下节点构建了树结构 . 因此,可以将数据模型(列表中的父节点)约束为仅接受所需的值。
您可以使用FacesMessage向用户发出不允许操作的信号

谢谢你的回复。我照你说的做。我验证模型输入,不让不需要的数据进入。但问题是视图仍然是错误的,我找不到重新绘制的方法。我不理解你的问题。通常,如果您更改数据模型,UI应该自动更新(这是使用ace组件的结果)。你是说FacesMessage没有显示,还是怎么了?我忘了提到在使用拖放功能时会发生这种情况。当我将节点拖动到模型不允许的位置时,视图会更改,但我的模型不会因为验证而更改。因此,这一观点是错误的。我想重新整理一下。谢谢你的回复。我照你说的做。我验证模型输入,不让不需要的数据进入。但问题是视图仍然是错误的,我找不到重新绘制的方法。我不理解你的问题。通常,如果您更改数据模型,UI应该自动更新(这是使用ace组件的结果)。你是说FacesMessage没有显示,还是怎么了?我忘了提到在使用拖放功能时会发生这种情况。当我将节点拖动到模型不允许的位置时,视图会更改,但我的模型不会因为验证而更改。因此,这一观点是错误的。我想以某种方式刷新一下。