如何使用 Next.js 在页面中实现表单验证

阅读时长 5 分钟读完

表单验证是 Web 开发中不可避免的一环,为了保障用户提交的数据的合法性,不正确的数据应该被拒绝。

Next.js 是一个 React 框架,它使用类似于服务器端渲染(SSR)的方式来进行静态优化,使页面加载速度更快。这篇文章介绍如何在 Next.js 中实现表单验证,来保障页面数据的合法性。

安装依赖

首先,我们需要安装 yup 库,它可以帮助我们进行表单验证,执行以下命令:

编写表单

我们以一个基础的登录表单为例。我们需要的是用户输入的用户名和密码,同时需要验证用户名和密码是否正确,以此判断用户是否可以登录。

在编辑表单之前,我们需要先安装 Formik 和 Chakra UI,它们可以帮助我们创建表单并为其添加UI组件。执行以下命令:

-- -------------------- ---- -------
------ - ------- ----- ----- - ---- ---------
------ - ------ ------ - ---- -------------------
------ - -- --- ---- ------

----- ----------- - --------------------
    --------- ------------
        ------- --------------
        ---------------------
    --------- ------------
        ------- -------------
        -------------------
--

----- --------- - -- -- -
  ------ -
    -------
      ---------------- --------- --- --------- -- --
      ------------------------------
      ------------------ -- -
        --------------------
      --
    -
      --- ------- ------- -- -- -
        ------
          ------ ----------------
            --- ----- -- -- -
              ------
                ----------
                -------------
                -----------------
                -----------
                ----------------
                ---------------------------- -- -----------------
                --------------------------
              --
            --
          --------
          ------ ----------------
            --- ----- -- -- -
              ------
                ----------
                -------------
                ----------------
                ----------
                ---------------
                ----------------
                ---------------------------- -- -----------------
                --------------------------
              --
            --
          --------
          ------- ------ ------------------ --------------
            --
          ---------
        -------
      --
    ---------
  --
--

------ ------- ----------

表单验证

表单验证可以使用 yup 这个库来执行。我们可以通过定义 Yup 的对象来指定表单验证规则。

在上面的代码示例中,我们定义了 LoginSchema 变量,用来验证表单中的数据。我们通过 Yup.object().shape() 方法定义对象中的字段及其验证规则。

接下来,在 Formik 组件中,我们将这个验证规则作为 validationSchema 属性的值。这样当表单数据被提交时,它将被自动验证,如果不符合规则则给出错误提示。

我们还定义了 isInvaliderrorBorderColor 属性,用来在表单验证失败时改变 UI 样式,给用户以实时反馈。

结论

以上就是如何使用 Next.js 在页面中实现表单验证的方法。表单验证是 Web 应用程序中不可缺少的一部分,这个方法可以帮助您在 Next.js 技术栈下更方便地实现表单数据的合法性验证,为用户提供更好的体验及数据安全保障。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67347b0e0bc820c582495ea4

纠错
反馈