javascript - jstree 验证节点的重命名,如果未验证,则回滚到旧名称

标签 javascript validation contextmenu rename jstree

在重命名 jstree 中的节点时,我想验证重命名中的特殊字符,如果找到,我想提醒用户,并回滚到旧名称。

为此我添加了

  • 重命名上下文菜单
  • 之后我绑定(bind)了 node_rename 和 rename 事件
  • 在绑定(bind)中我检查 event.type === node_rename
  • 当我在 data.args[1] 中获取新名称时,我能够验证新名称的特殊字符
  • 但在我发出警报之前,重命名已经发生,而且我找不到撤消该操作的方法。

感谢任何帮助。

最佳答案

我需要绑定(bind)到 rename.jstree,而不是绑定(bind) rename_node,然后需要使用操作回滚。

这里是绑定(bind)事件代码。

if(type === 'rename')
{
        var new_Name = data.rslt.new_name;
        var iChars = "!@#$%^&*()+=[]\\\';,/{}.-_|\":<>?";
        for (var i = 0; i < new_Name.length; i++) 
        {
            if (iChars.indexOf(new_Name.charAt(i)) != -1) 
            {
                alert ("Special characters are not allowed.");
                $.jstree.rollback(data.rlbk);
            }
        }
 }

关于javascript - jstree 验证节点的重命名,如果未验证,则回滚到旧名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202106/

相关文章:

javascript - Lua 模式匹配中 ".-"的 RegEx 等价物是什么?

validation - 从 <h :inputText> go through validation 获取空字符串

c# - 在 XAML 中触发 ContextMenu.IsOpen

android - 上下文菜单在回收站 View 中不起作用

javascript - 仅使用 Date.valueOf() 在 JavaScript 中查找上一年

javascript - loDash——有没有一种方法可以简化可读性

javascript - 如何使这个 javascript 文本效果起作用?

python - Django 删除唯一字段的表单错误

node.js - 是否可以禁用 Mongoose SchemaTypes 的自动类型转换?

visual-studio-2010 - 编写 VS2010 扩展