Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

Hướng dẫn tuỳ biến form rule trong ReactJS, Ant Design

ReactJS và Ant Design là hai công nghệ được sử dụng rộng rãi trong việc xây dựng giao diện người dùng hiện đại. Ant Design là một bộ thư viện UI được xây dựng trên cơ sở của ReactJS, cung cấp cho người dùng những thành phần giao diện tiêu chuẩn và dễ dàng tuỳ chỉnh.

huong dan tuy bien form 2412 new
Hướng dẫn tuỳ biến form rule trong ReactJS, Ant Design 6

<Form.Item
    label={"Địa chỉ"}
    hidden={step != 'fullName'}
    name={"address"}
    rules={[
        {
            required: true,
            message: 'Vui lòng nhập địa chỉ!',
        },
        {
            validator(_, value) {
                if (!value)
                    return Promise.resolve();
                if (!value?.place) {
                    return Promise.reject(new Error('Vui lòng nhập địa chỉ!'));
                }
                return Promise.resolve();
            },
        },
    ]}
>
    <AddressInput/>
</Form.Item>

Một trong những tính năng quan trọng của Ant Design đó là form rule – một công cụ hỗ trợ cho việc kiểm tra và xác thực dữ liệu được nhập vào trong form. Trong bài viết này, chúng ta sẽ tìm hiểu cách tuỳ chỉnh form rule trong ReactJS cùng với Ant Design.

Bắt đầu với form trong Ant Design

Để bắt đầu sử dụng form rule trong ReactJS với Ant Design, chúng ta cần có một form component được tạo bằng ReactJS và sử dụng các thành phần của Ant Design. Để dễ hiểu, chúng ta sẽ tạo một form đơn giản với hai trường là “username” và “password”.

Đầu tiên, hãy cài đặt Ant Design bằng lệnh npm sau đây:

npm install antd --save

Tiếp theo, chúng ta sẽ import các thành phần cần thiết trong component của form, bao gồm Form, Input từ antd và useState từ React như sau:

import React, { useState } from "react";
import { Form, Input } from "antd";

Sau đó, chúng ta sẽ tạo một state đối tượng để lưu trữ giá trị của hai trường “username” và “password” trong form như sau:

const [formValues, setFormValues] = useState({
  username: "",
  password: ""
});

Tiếp theo, chúng ta sẽ định nghĩa một hàm để lắng nghe sự thay đổi của form và cập nhật giá trị trong state:

const onChange = (e) => {
  setFormValues({
    ...formValues,
    [e.target.name]: e.target.value
  });
};

Sau đó, chúng ta sẽ render form với hai trường “username” và “password” bằng cách sử dụng các thành phần Form.ItemInput của Ant Design như sau:

&lt;Form>
  &lt;Form.Item
    label="Username"
    name="username"
    rules={[{ required: true, message: "Please input your username!" }]}
  >
    &lt;Input name="username" value={formValues.username} onChange={onChange} />
  &lt;/Form.Item>
  &lt;Form.Item
    label="Password"
    name="password"
    rules={[{ required: true, message: "Please input your password!" }]}
  >
    &lt;Input.Password
      name="password"
      value={formValues.password}
      onChange={onChange}
    />
  &lt;/Form.Item>
&lt;/Form>

Bây giờ, nếu bạn thử nhập vào các giá trị và submit form, bạn sẽ thấy rằng form sẽ tự động kiểm tra và hiển thị thông báo lỗi nếu không có giá trị nào được nhập vào. Đây là công việc được thực hiện bởi form rule của Ant Design.

Tuỳ biến form rule trong Ant Design

Để tuỳ biến form rule trong Ant Design, chúng ta có thể sử dụng thuộc tính rules của Form.Item như đã thấy ở ví dụ trên. Các rule trong một form có thể bao gồm nhiều điều kiện như required, min, max, pattern, …

Nếu chúng ta muốn thay đổi thông báo lỗi mặc định của rule, chúng ta có thể thêm thuộc tính message như đã làm trong ví dụ trên. Ví dụ: rules={[{ required: true, message: "Vui lòng nhập giá trị!" }]}

Ngoài ra, chúng ta còn có thể tạo ra các rule tùy chỉnh bằng cách sử dụng hàm validator như sau:

const customRule = (rule, value, callback) => {
  if (value !== "abc") {
    callback("Giá trị không hợp lệ!");
  } else {
    callback();
  }
};

Sau đó, chúng ta có thể sử dụng rule tùy chỉnh này trong rules như sau: rules={[{ validator: customRule }]}

Ngoài ra, Ant Design còn hỗ trợ nhiều loại rule và cách tuỳ biến khác nhau, bạn có thể tham khảo tài liệu chính thức để biết thêm chi tiết.

Kết luận

Qua bài viết này, chúng ta đã tìm hiểu cách sử dụng và tuỳ biến form rule trong ReactJS và Ant Design. Có thể thấy, việc sử dụng form rule giúp chúng ta dễ dàng kiểm tra và xác thực dữ liệu trong các form, từ đó cải thiện trải nghiệm người dùng và tăng tính bảo mật cho ứng dụng. Hy vọng bài viết này sẽ hữu ích cho bạn trong việc tùy biến form với Ant Design trong các dự án ReactJS của mình.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *