Hello to all, welcome back to my blog. Today in this blog post, I am going to tell you, Reactjs Form with Dynamic Fields and Validations.
Post Code Benefits, this post code will provide below things:
- The proper form validations.
- Append form input fields.
- Getting form input fields data after form successfully submitted.
For reactjs new comers, please check the below link:
Friends now I proceed onwards and here is the working code snippet for Reactjs Modal Popup Register Form with Validations and please use this carefully to avoid the mistakes:
1. Firstly friends we need fresh reactjs setup and for that we need to run below commands into our terminal and also w should have latest node version installed on our system:
npx create-react-app reactjsappendfields cd reactjsappendfields npm start // run the project
2. Now we need to run below commands to get bootstrap(for good layout), antd(for modal and form) modules into our react js app:
npm install antd npm install bootstrap --save npm start
3. Now friends, after are done with commands, now please open reactjsappendfields/src/App.js file and add below code inside it:
import React from 'react'; import './App.css'; //Bootstrap and jQuery libraries import 'bootstrap/dist/css/bootstrap.min.css'; //Incude antd modules, icon and style import { Form, Input, Button, Space } from 'antd'; import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'; import "antd/dist/antd.css"; class App extends React.Component { render(){ const Demo = () => { const onFinish = values => { //Here will get form values console.log('Received values of form:', values); }; return ( <Form name="dynamic_form_nest_item" onFinish={onFinish} autoComplete="off"> <Form.List name="users"> {(fields, { add, remove }) => ( <> {fields.map(field => ( <Space key={field.key} style={{ display: 'flex', marginBottom: 8 }} align="baseline"> <Form.Item {...field} name={[field.name, 'first']} fieldKey={[field.fieldKey, 'first']} rules={[{ required: true, message: 'Missing first name' }]} > <Input placeholder="First Name" /> </Form.Item> <Form.Item {...field} name={[field.name, 'last']} fieldKey={[field.fieldKey, 'last']} rules={[{ required: true, message: 'Missing last name' }]} > <Input placeholder="Last Name" /> </Form.Item> <MinusCircleOutlined onClick={() => remove(field.name)} /> </Space> ))} <Form.Item> <Button type="dashed" onClick={() => add()} block icon={<PlusOutlined />}> Add field </Button> </Form.Item> </> )} </Form.List> <Form.Item> <Button type="primary" htmlType="submit"> Submit </Button> </Form.Item> </Form> ); }; return ( <div className="MainDiv"> <div className="jumbotron text-center"> <h3>Therichpost.com<br> </div> <div className="container"> <Demo /> </div> </div> ); } } export default App;
Now we are done friends. If you have any kind of query or suggestion or any requirement then feel free to comment below.
Note: Friends, I just tell the basic setup and things, you can change the code according to your requirements. For better understanding and live working must watch video above.
I will appreciate that if you will tell your views for this post. Nothing matters if your views will good or bad.
Jassa
Thanks
Recent Comments