【问题标题】:How To Show Invalid Email Message with Validator in React如何在 React 中使用验证器显示无效的电子邮件消息
【发布时间】:2022-01-22 02:55:32
【问题描述】:

我正在做一个 React 应用程序并安装了npm install validator 用于电子邮件验证,所以一切正常(如果电子邮件无效,数据不会发送到数据库),但我不知道如何显示用户输入无效电子邮件时的消息。谢谢大家!

这是我的电子邮件架构:

const validator = require('validator');

const EmailSchema = new mongoose.Schema({
    email: {
        type: String,
        trim: true,
        lowercase: true,
        unique: true,
        validate: {
            validator: validator.isEmail,
            message: 'Email is invalid',
            isAsync: false
        }
    },
    message: {
        type: String,
        require: true
    }
});

const Email = mongoose.model("Email", EmailSchema);
module.exports = Email;

这是我的表格:

<form className="feedback" onSubmit={sendEmail}>
    <h5>Leave us a feedback</h5>
    <div>
        <label>Email:</label>
        <input
            type="text"
            placeholder="Email"
            onChange={(event) => {
                setEmail(event.target.value);
            }}
            required
            className="input-email"
        />
    </div>
    <div>
        <label>Message:</label>
        <input
            type="text"
            placeholder="Your message here:..."
            onChange={(event) => {
                setMessage(event.target.value);
            }}
            required
            className="input-food"
        />
    </div>
    <button className="email-btn">Send Email</button>
</form>

【问题讨论】:

    标签: reactjs validation


    【解决方案1】:
    const validator = require('validator');
    
    const EmailSchema = new mongoose.Schema({
        email: {
            type: String,
            trim: true,
            lowercase: true,
            unique: true,
            validate: [ validator.isEmail, 'invalid email' ]
        },
        message: {
            type: String,
            require: true
        }
    });
    
    const Email = mongoose.model("Email", EmailSchema);
    module.exports = Email;
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • 这没有回答问题。
    猜你喜欢
    • 2023-03-06
    • 2018-09-16
    • 1970-01-01
    • 2016-06-27
    • 2012-04-23
    • 1970-01-01
    • 2020-04-26
    • 2017-08-21
    • 1970-01-01
    相关资源
    最近更新 更多