首页 > 解决方案 > 我一直在创建一个简单的验证。如何获取用户输入的输入并验证我的数据?

问题描述

我想获取用户输入并遍历我的数据以检查它是否匹配。如何验证用户输入的输入是否与我的数据匹配。

const userInput = document.querySelector(".ID");
const button = document.querySelector(".login");
const data = [
  { userName: "Jon", userId: 1, admin: true },
  { userName: "Mike", userId: 2, admin: false },
  { userName: "Martha", userId: 3, admin: false },
];


function checkUser() {
  const id = userInput.value;
  data.forEach((user) => {
    if (id === user.userId) {
      console.log("Welcome");
    } else {
      console.log("Incorrect ID");
    }
  });
}

button.addEventListener("click", (e) => {
  e.preventDefault();
  checkUser();
});
<input class="ID" />
<input type="button" class="login" value="login" />

标签: javascripthtml

解决方案


输入元素值是字符串。为了使您的代码正常工作,您必须将您的代码声明data.userId为字符串。

所以它必须是:

    const data = [
    { userName: "Jon", userId: "1", admin: true },
    { userName: "Mike", userId: "2", admin: false },
    { userName: "Martha", userId: "3", admin: false },
    ];

如果您不想将字符串用作 userId,则应将条件语句的逻辑运算符更改为,==而不是===这样它会忽略数据类型。


推荐阅读