要驗證 Next.js 應用程式中的電子郵件地址格式和網域,您可以利用多個提供強大功能的程式庫。以下是您可以考慮的前五個函式庫:
是的
import * as Yup from 'yup'; const validationSchema = Yup.object().shape({ email: Yup.string() .email('Invalid email format') .required('Email is required'), });
Validator.js
const validator = require('validator'); if (validator.isEmail(emailInput)) { console.log('Valid email!'); } else { console.log('Invalid email!'); }
電子郵件驗證器
const EmailValidator = require('email-validator'); const isValid = EmailValidator.validate('test@example.com'); // true
React Hook Form(是的)
import { useForm } from 'react-hook-form'; import * as Yup from 'yup'; import { yupResolver } from '@hookform/resolvers/yup'; const schema = Yup.object().shape({ email: Yup.string().email().required(), }); const { register, handleSubmit, errors } = useForm({ resolver: yupResolver(schema), }); const onSubmit = data => { console.log(data); }; <form onSubmit={handleSubmit(onSubmit)}> <input name="email" ref={register} /> {errors.email && <p>{errors.email.message}</p>} <button type="submit">Submit</button> </form>
這些程式庫提供了多種選項,用於在 Next.js 應用程式中驗證電子郵件地址,確保使用者輸入的格式正確並減少資料提交期間出現錯誤的可能性。
要在 Next.js 應用程式中使用 Zod 程式庫驗證電子郵件地址,您可以建立一個架構來檢查有效的電子郵件格式。以下是如何有效地做到這一點:
首先,請確保您的專案中安裝了 Zod。您可以透過執行以下命令來做到這一點:
npm install zod
將 Zod 匯入到要執行驗證的檔案中:
import { z } from 'zod';
您可以使用 Zod 的內建方法定義驗證電子郵件格式的模式。以下是如何建立電子郵件驗證架構的範例:
const emailSchema = z.string().email({ message: "Invalid email address" });
此架構將檢查輸入是否為字串並符合標準電子郵件格式。
要驗證電子郵件地址,您可以使用 Zod 提供的解析方法。實作方法如下:
import * as Yup from 'yup'; const validationSchema = Yup.object().shape({ email: Yup.string() .email('Invalid email format') .required('Email is required'), });
如果您想執行額外的檢查,例如驗證資料庫中是否存在電子郵件,您可以使用細化方法進行非同步驗證。這是一個基本範例:
const validator = require('validator'); if (validator.isEmail(emailInput)) { console.log('Valid email!'); } else { console.log('Invalid email!'); }
如果您在 Next.js 應用程式中使用表單,則可以將此架構與 React Hook Form 或 Formik 等表單處理庫集成,以實現無縫驗證和錯誤處理。
透過執行這些步驟,您可以使用 Zod 有效驗證 Next.js 應用程式中的電子郵件地址,確保使用者輸入的格式正確並滿足您的應用程式的要求。
想要在 10 天內打造 MVP?現在就透過下面的評論與我們聯絡。
以上是驗證電子郵件地址格式和網域庫以在 Next.js 中使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!