|
|
@@ -1,5 +1,5 @@
|
|
|
import {editUserPassword} from '@apis';
|
|
|
-import {zodResolver} from '@hookform/resolvers/zod';
|
|
|
+import {yupResolver} from '@hookform/resolvers/yup';
|
|
|
import {LOGIN_PATH} from '@routes';
|
|
|
import {userStore} from '@stores';
|
|
|
import {useMutation} from '@tanstack/react-query';
|
|
|
@@ -7,8 +7,8 @@ import {message} from 'antd';
|
|
|
import {useEffect} from 'react';
|
|
|
import {useForm} from 'react-hook-form';
|
|
|
import {useNavigate} from 'react-router-dom';
|
|
|
-import {object, string} from 'zod';
|
|
|
import {useStore} from 'zustand';
|
|
|
+import {object, string} from 'yup';
|
|
|
|
|
|
type FormState = {
|
|
|
oldPassword: string;
|
|
|
@@ -16,13 +16,6 @@ type FormState = {
|
|
|
repeatPassword: string;
|
|
|
};
|
|
|
|
|
|
-const validate = object({
|
|
|
- oldPassword: string({required_error: '请输入原密码', invalid_type_error: '请输入原密码'})
|
|
|
- .min(1, '请输入原密码'),
|
|
|
- newPassword: string({required_error: '请输入新密码', invalid_type_error: '请输入新密码'})
|
|
|
- .min(1, '请输入原密码'),
|
|
|
-}).passthrough();
|
|
|
-
|
|
|
export function useEditPassword(onClose: () => void) {
|
|
|
const logout = useStore(userStore, state => state.logout);
|
|
|
const navigate = useNavigate();
|
|
|
@@ -41,15 +34,20 @@ export function useEditPassword(onClose: () => void) {
|
|
|
}
|
|
|
|
|
|
export function useFormState(visible: boolean, onClose: () => void) {
|
|
|
- const {control, clearErrors, reset, setError, handleSubmit}
|
|
|
- = useForm<FormState>({
|
|
|
- defaultValues: {
|
|
|
- oldPassword: '',
|
|
|
- newPassword: '',
|
|
|
- repeatPassword: '',
|
|
|
- },
|
|
|
- resolver: zodResolver(validate),
|
|
|
- });
|
|
|
+ const {
|
|
|
+ control,
|
|
|
+ clearErrors, reset, setError, handleSubmit,
|
|
|
+ } = useForm<FormState>({
|
|
|
+ defaultValues: {
|
|
|
+ oldPassword: '',
|
|
|
+ newPassword: '',
|
|
|
+ repeatPassword: '',
|
|
|
+ },
|
|
|
+ resolver: yupResolver(object({
|
|
|
+ oldPassword: string().required('请输入旧密码'),
|
|
|
+ newPassword: string().required('请输入新密码'),
|
|
|
+ })),
|
|
|
+ });
|
|
|
|
|
|
useEffect(
|
|
|
function() {
|