import React from "react"; import styles from "./index.less"; import { Form, Input, Button, Checkbox } from "antd"; const formItemLayout = { labelCol: { span: 4 }, wrapperCol: { span: 8 } }; const formTailLayout = { labelCol: { span: 4 }, wrapperCol: { span: 8, offset: 4 } }; class DynamicRule extends React.Component { state = { checkNick: false }; check = () => { this.props.form.validateFields(err => { if (!err) { console.info("success"); } }); }; handleChange = e => { this.setState( { checkNick: e.target.checked }, () => { this.props.form.validateFields(["nickname"], { force: true }); } ); }; render() { const { getFieldDecorator } = this.props.form; return (
{getFieldDecorator("username", { rules: [ { required: true, message: "Please input your name" } ] })()} {getFieldDecorator("nickname", { rules: [ { required: this.state.checkNick, message: "Please input your nickname" } ] })()} Nickname is required
); } } const WrappedDynamicRule = Form.create({ name: "dynamic_rule" })(DynamicRule); export default () => (
);