如果新值无效,则防止输入更改

Tom*_*ica 6 javascript validation

假设抽象验证器回调根据新字符串值是否有效返回 true 或 false:

function isValid(text) {
   /* arbitrary code, returns true or false */
}
Run Code Online (Sandbox Code Playgroud)

我想在 HTML/JavaScript 的输入字段中应用此回调。验证器中的代码可以是任何类型的验证器。

我见过人们使用keyup事件来阻止输入某些字符。这是有缺陷的方法,显然无法验证整个输入字段。

我尝试取消input活动,但不起作用:

  myInputField.addEventListener("input", function(e) {
    console.log(e);
    e.preventDefault();
    return false;
  });
Run Code Online (Sandbox Code Playgroud)

在我遇到的大多数 GUI 框架(Java Swing、C++ Qt)中,这就像在输入字段上分配验证器回调一样简单。我如何在 JavaScript 中执行此操作?