REECT JS-输入OnChange事件在键入1个额外字符之前,将电话号码设置为有效
我在React应用程序中使用验证器软件包( https://www.npmjs.coms.coms.coms.coms.coms.coms.coms.coms.coms.coms.coms.coms.coms.com/package/validator-validator )处理不同的验证示例。我正在挣扎的一个是valies.ismobilephone()。
import React, {useState} from "react";
import validator from 'validator'
export default function Login() {
let [phone, setPhone] = useState("")
let [valid, isValid] = useState("")
const setPhoneNum = (event) => {
setPhone(event.target.value)
isValid(validatePhoneNumber(event.target.value))
}
const validatePhoneNumber = (event) => {
let isValidPhoneNumber = validator.isMobilePhone(phone, "en-US")
return (isValidPhoneNumber)
}
return (
<>
...
<input
type="tel"
className="w-full input-primary pl-8 focus:outline-none"
onChange={setPhoneNum}
value={phone}
placeholder="123 456 7890"
/>
...
<>
)
}
Login.layout = Auth
在输入额外的数字之前,这与onChange事件无关,直到输入发生更改后才设置电话值。我认为我需要的是在键盘上设置电话的价值,但只是无法弄清楚
15308675309 -IsvalidphoneNumber -False
153086753091 -IsvalidphoneNumber-
I am using the validator package in a React application (https://www.npmjs.com/package/validator) to handle different validation examples. One I am struggling with is validator.isMobilePhone().
import React, {useState} from "react";
import validator from 'validator'
export default function Login() {
let [phone, setPhone] = useState("")
let [valid, isValid] = useState("")
const setPhoneNum = (event) => {
setPhone(event.target.value)
isValid(validatePhoneNumber(event.target.value))
}
const validatePhoneNumber = (event) => {
let isValidPhoneNumber = validator.isMobilePhone(phone, "en-US")
return (isValidPhoneNumber)
}
return (
<>
...
<input
type="tel"
className="w-full input-primary pl-8 focus:outline-none"
onChange={setPhoneNum}
value={phone}
placeholder="123 456 7890"
/>
...
<>
)
}
Login.layout = Auth
This does not return true until an extra number is typed which has to do with onChange event not setting the value of phone until a change in the input happens. I think what I need is to set the value of phone on keyDown but just cannot figure it out
15308675309 - isValidPhoneNumber - false
153086753091 - isValidPhoneNumber - true
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题在这里,您将
事件
作为arg,而在功能中未使用。因为,您正在通过价值
Problem is here, you are passing
event
as arg and not used in the function.Since, you are passing the value