我有一个登录页面(下面的代码),它要求输入用户名登录,我尝试添加检查以确保长度为 7(我的数据库中任何用户的长度),并且只输入数字而不是字母。但是我现在想调用我的 web api 来检查输入的用户名是否有效,但我不知道该怎么做,有人可以帮忙吗?
在我的 API 中,我有一个获取所有用户名方法和一个获取用户/方法
import React, { useState } from "react";
import { useHistory } from "react-router-dom";
import "./Login.css";
export default function LogIn() {
const history = useHistory();
const [value, setValue] = useState("");
const regexp = /^[0-9\b]+$/;
function handleChange(e) {
setValue(e.target.value);
}
function handleSubmit(e) {
e.preventDefault();
if (!regexp.test(value)) {
alert("Username should not contain letters, please re-enter");
return;
}
return history.replace("/UserWelcome", value);
}
return (
<div className="Login">
<form onSubmit={handleSubmit}>
<h1>Log into our Messaging Service</h1>
<label>
Username:
<input
type="text"
name="UserId"
value={value}
onChange={handleChange}
required
maxLength="7"
minLength="7"
/>
</label>
<button>Log In</button>
</form>
</div>
);
}