// 修改前
<Form form={form} name="basic">
// 修改后 弹窗里的form改个name,这个name其实就是id
<Form form={form} name="modifyPasswordForm">
footer={[
<Button key="back" onClick={handleCancel}>取消</Button>,
<Button key="submit" type="primary" htmlType="submit" onClick={onFinish}>确定</Button>
]}
const formItemLayout = {
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 12 },
},
}
<Form.Item
label="新密码"
{...formItemLayout}
name="newpassword"
rules={[
{ required: true, message: '请输入新密码' },
{ whitespace: true, message: '开头不能为空格' },
{ min: 8, message: '新密码不少于8位' },
{ pattern: /(?=.*[A-Z].*)(?=.*[a-z].*)(?=.*[0-9].*)(?=.*[!@#$%^&*?])/, message: '新密码须包含大小写字母、数字和特殊字符' },
]}
>
<Input type="password" autoComplete="off" />
</Form.Item>
{getFieldDecorator('newPassword', {
rules: [
{ required: true, message: '请输入新密码!' },
{ whitespace: true, message: '开头不能为空格' },
{ min: 8, message: '新密码不少于8位' },
{ pattern: /(?=.*[A-Z].*)(?=.*[a-z].*)(?=.*[0-9].*)(?=.*[!@#$%^&*?])/, message: '新密码须包含大小写字母、数字和特殊字符' },
],
})(
<Input type="password" autoComplete="new-password"/>,
)}
onchange 、onblur 、onkeyup 、oninput
// 驼峰
onChange 、onBlur 、onKeyUp 、onInput
validateTrigger='onBlur'
// 错误写法,我之前没看到Boolean,传了字符串人傻了不起作用
validateFirst='true'
// 正确写法
validateFirst={true}
// 省略一些导入
const [form] = Form.useForm();
// 修改密码的窗口
const [isModalVisible, setIsModalVisible] = useState(false);
// 显示弹窗
const showModal = () => {
setIsModalVisible(true);
};
// 弹窗点击取消
const handleCancel = () => {
setIsModalVisible(false);
};
// 修改密码提交表单且数据验证成功后回调事件
const onFinish = () => {
form.validateFields().then((values) => {
console.log('三个输入框输入的内容, values', values);
// 更新密码的方法
}).catch(() => {});
};
const formLayout = {
labelCol={{
span: 8,
}}
wrapperCol={{
span: 16,
}}
}
const formItemLayout = {
labelCol: {
xs: { span: 24 },
sm: { span: 6 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 14 },
},
};
// 这个本来是在utils文件的
const passwordValidate = [
{ min: 8, max: 16, message: '新密码应为8-16位' },
{ pattern: /(?=.*[A-Z].*)(?=.*[a-z].*)(?=.*[0-9].*)(?=.*[!@#$%^&*?])/, message: '须包含大小写字母、数字和特殊字符' },
]
<Modal
title="修改密码"
visible={isModalVisible}
onOk={showModal}
onCancel={handleCancel}
destroyOnClose={true}
footer={[
<Button key="back" onClick={handleCancel}>取消</Button>,
<Button key="submit" type="primary" htmlType="submit" onClick={onFinish}>确定</Button>,
]}
>
<Form form={form} name="modal" {...formLayout} autoComplete="off">
<Form.Item
label="名字"
name="name"
validateTrigger="onBlur"
rules={[
{ required: true, message: '请输入名字' },
{ whitespace: true, message: '开头不能为空格' },
]}
{...formItemLayout}
>
<Input />
</Form.Item>
<Form.Item
label="原始密码"
name="oldpassword"
validateTrigger="onBlur"
rules={[
{ required: true, message: '请输入原始密码' },
{ whitespace: true, message: '开头不能为空格' },
]}
{...formItemLayout}
>
<Input type="password" autoComplete="off" />
</Form.Item>
<Form.Item
label="新密码"
name="newpassword"
validateFirst={true}
validateTrigger="onBlur"
rules={[
{ required: true, message: '请输入新密码' },
{ whitespace: true, message: '开头不能为空格' },
...passwordValidate,
]}
{...formItemLayout}
>
<Input type="password" autoComplete="off" />
</Form.Item>
</Form>
</Modal>
此页面不支持夜间模式!
已进入夜间模式!
已进入普通模式!
搜索框不允许为空
签到成功!经验+5!芋圆币+2!
签到失败!今日已签到!
需要登录社区账号才可以进入!