更改校验逻辑
This commit is contained in:
parent
51e86f469b
commit
1ec5f6497b
@ -15,9 +15,25 @@ type prop = {
|
|||||||
|
|
||||||
export const CheckInput = forwardRef<refType, prop>(({ required, checkList, ...textFied }, ref) => {
|
export const CheckInput = forwardRef<refType, prop>(({ required, checkList, ...textFied }, ref) => {
|
||||||
const [err, setErr] = useState("");
|
const [err, setErr] = useState("");
|
||||||
|
const [value, setValue] = useState("");
|
||||||
|
|
||||||
|
const check = (value: string) => {
|
||||||
|
if (required && (!value || value == "")) {
|
||||||
|
setErr("此项必填")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for (const v of checkList) {
|
||||||
|
if (!v.reg.test(value)) {
|
||||||
|
setErr(v.errMsg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setErr("")
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
const verify = () => {
|
const verify = () => {
|
||||||
return err == ""
|
return check(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
useImperativeHandle(ref, () => {
|
useImperativeHandle(ref, () => {
|
||||||
@ -28,17 +44,8 @@ export const CheckInput = forwardRef<refType, prop>(({ required, checkList, ...t
|
|||||||
|
|
||||||
const onChange = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
|
const onChange = (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
|
||||||
const value = event.target.value
|
const value = event.target.value
|
||||||
if (required && (!value || value == "")) {
|
setValue(value)
|
||||||
setErr("此项必填")
|
check(value)
|
||||||
return
|
|
||||||
}
|
|
||||||
for (const v of checkList) {
|
|
||||||
if (!v.reg.test(value)) {
|
|
||||||
setErr(v.errMsg)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setErr("")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -48,6 +55,7 @@ export const CheckInput = forwardRef<refType, prop>(({ required, checkList, ...t
|
|||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
helperText={err}
|
helperText={err}
|
||||||
required={required}
|
required={required}
|
||||||
|
value={value}
|
||||||
{...textFied}
|
{...textFied}
|
||||||
/>
|
/>
|
||||||
})
|
})
|
||||||
|
@ -37,7 +37,8 @@ export default function SignIn() {
|
|||||||
email: data.get('email')?.toString(),
|
email: data.get('email')?.toString(),
|
||||||
password: data.get('password')?.toString(),
|
password: data.get('password')?.toString(),
|
||||||
}
|
}
|
||||||
if (!Array.from(checkList.current.values()).every(v => v.verify())) {
|
if (!Array.from(checkList.current.values()).map(v => v.verify()).reduce((p, v) => (p == true) && (v == true))) {
|
||||||
|
setLoading(false)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
login(postData.email!, postData.password ?? "").
|
login(postData.email!, postData.password ?? "").
|
||||||
|
@ -35,7 +35,8 @@ export default function SignUp() {
|
|||||||
password: data.get('password')?.toString(),
|
password: data.get('password')?.toString(),
|
||||||
username: data.get("username")?.toString()
|
username: data.get("username")?.toString()
|
||||||
}
|
}
|
||||||
if (!Array.from(checkList.current.values()).every(v => v.verify())) {
|
if (!Array.from(checkList.current.values()).map(v => v.verify()).reduce((p, v) => (p == true) && (v == true))) {
|
||||||
|
setLoading(false)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
register(d.email ?? "", d.username ?? "", d.password ?? "").
|
register(d.email ?? "", d.username ?? "", d.password ?? "").
|
||||||
|
Loading…
x
Reference in New Issue
Block a user