RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[валидация]

Martin Hope
Мария
Asked: 2024-01-28 20:29:30 +0000 UTC

长度验证器在猫鼬中不起作用

  • 5

我发现了同样的问题https://stackoverflow.com/questions/58831178/minlength-validator-not-working-in-mongoose,但对我来说一切都很好,但验证器仍然无法工作。Note.js 文件:

const mongoose = require('mongoose')
const uniqueValidator = require('mongoose-unique-validator');

mongoose.set('strictQuery', false)

const url = process.env.MONGODB_URI

console.log('connecting to', url)

mongoose.connect(url)

  .then(result => {
    console.log('connected to MongoDB')
  })
  .catch((error) => {
    console.log('error connecting to MongoDB:', error.message)
  })

const noteSchema = new mongoose.Schema({
  content: {
    type: String,
    minlength: 5,
    required: true
  },
  important: Boolean
})
mySchema.plugin(uniqueValidator);

noteSchema.set('toJSON', {
  transform: (document, returnedObject) => {
    returnedObject.id = returnedObject._id.toString()
    delete returnedObject._id
    delete returnedObject.__v
  }
})

module.exports = mongoose.model('Note', noteSchema)
Index.js 片段:

app.post('/api/notes', (request, response, next) => {
  const body = request.body

  const note = new Note({
    content: body.content,
    important: body.important || false,
  })
  note.save()
    .then(savedNote => {
      response.json(savedNote)
    })
    .catch(error => next(error))
})

app.put('/api/notes/:id', (request, response, next) => {
  const {
    content,
    important
  } = request.body

  Note.findByIdAndUpdate(
      request.params.id, {
        content,
        important
      }, {
        new: true,
        runValidators: true,
        context: 'query'
      }
    )
    .then(updatedNote => {
      response.json(updatedNote)
    })
    .catch(error => next(error))
})

валидация
  • 1 个回答
  • 11 Views
Martin Hope
Kolamik
Asked: 2022-08-12 23:58:03 +0000 UTC

检查密码有效性的功能

  • 1

我正在尝试编写密码验证功能。该功能应检查密码的长度。如果未输入密码,请给出错误提示“必填字段”并以红色突出显示窗口。如果输入的密码少于 8 个字符,则会出现错误,并显示“密码必须包含至少 8 个字符”字样。如果满足条件,则窗口变为绿色。我试图通过与电子邮件验证类比来做到这一点。但该功能不起作用。你能帮我找出错误吗?

'use strict'

const emailChecker = /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/iu;
const passCheck = (/^(?=.*\d).{8,15}$/).length;

const form = document.querySelector('#form');
const errorIsOn = document.querySelector('#error');
const preheader = document.querySelector('#preheader');
const emailField = document.querySelector('#e-mail');
const btn = document.querySelector('#btn');
const password = document.querySelector('#password');
const errorpass = document.querySelector('#errorpass');
const errorpass2 = document.querySelector('#errorpass2');



function isEmailValid(value) {
  return emailChecker.test(value);
}

function onInput() {
  if (isEmailValid(emailField.value)) {
    emailField.style.borderColor = 'green';

  } else {
    emailField.style.borderColor = 'red';
    errorIsOn.style.display = 'initial';
    preheader.style.color = 'red';
  }
}

emailField.addEventListener('keyup', onInput);

function isPasswordValid(value) {
  return passChecker.test(value);
}

function passValidation() {
  if (isPasswordValid(password.value.length <= 8)) {
    password.style.borderColor = 'red';
    errorpass.style.display = 'initial';
    preheader.style.color = 'red';
  } else if (isPasswordValid(password.value.length === 0)) {
    password.style.borderColor = 'red';
    errorpass2.style.display = 'initial';
    preheader.style.color = 'red';
  } else {
    password.style.borderColor = 'green';
  }
}

password.addEventListener('keyup', passValidation);
body {
  max-width: 1440px;
  max-height: 769px;
  background-color: #1B2473;
  display: flex;
  flex-direction: column;
  font-family: 'Roboto', sans-serif;
}

@media screen and (max-width:768px) {
  .body {
    max-width: 768px;
  }
}

.form {
  width: 600px;
  height: 412px;
  background: #FFFFFF;
  box-shadow: 0px 0px 40px 10px rgba(0, 0, 0, 0.25);
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 82px;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .form {
    width: 728px;
    height: 697px;
  }
}

.form__preheader {
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  color: #787878;
  margin-left: 45px;
  margin-bottom: 7px;
}

@media screen and (max-width:768px) {
  .form__preheader {
    font-size: 24px;
  }
}

.form__header {
  width: 115px;
  height: 50px;
  font-weight: 700;
  font-size: 50px;
  line-height: 50px;
  color: #787878;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
  margin-top: 26px;
}

@media screen and (max-width:768px) {
  .form__header {
    width: 138px;
    font-size: 60px;
  }
}

.form__field {
  width: 509px;
  height: 49px;
  background: #FFFFFF;
  border: 2px solid #787878;
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
  font-weight: 700;
  font-size: 28px;
  line-height: 36px;
  color: #CCCCCC;
}

@media screen and (max-width:768px) {
  .form__field {
    width: 638px;
    height: 49px;
  }
}

.form__error {
  display: none;
  font-weight: 500;
  font-size: 10px;
  line-height: 16px;
  color: #CB2424;
  margin-left: 45px;
  margin-right: auto;
  margin-bottom: 12px;
}

.form__star {
  width: 7px;
  height: 12px;
  color: #787878;
}

.form__pc {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}

.form__box {
  width: 24px;
  height: 24px;
  border: 2px solid #787878;
  border-radius: 7px;
  margin-left: 45px;
  margin-right: 10px;
}

@media screen and (max-width:768px) {
  .form__box {
    width: 32px;
    height: 32px;
  }
}

.form__text {
  width: 278px;
  height: 16px;
  font-weight: 400;
  font-size: 14px;
  line-height: 16px;
  color: #787878;
  margin-top: 3px;
}

@media screen and (max-width:768px) {
  .form__text {
    width: 358px;
    font-size: 18px;
  }
}

.form__send {
  width: 180px;
  height: 52px;
  background-color: #1A226B;
  border-radius: 10px;
  font-weight: 700;
  font-size: 24px;
  line-height: 16px;
  color: #FFFFFF;
  margin-left: auto;
  margin-right: auto;
  margin-top: 26px;
}

@media screen and (max-width:768px) {
  .form__send {
    width: 220px;
    height: 80px;
    font-size: 32px;
  }
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="src/style.css">
</head>

<body>
  <form class="form" id='form'>

    <h1 class="form__header">Вход</h1>
    <p class="form__preheader" id='preheader'>E-mail</p>
    <input class="form__field" type="text" id="e-mail" placeholder="Введите e-mail">
    <p class="form__error" id='error'>Поле обязательно для заполнения</p>
    <p class="form__preheader">Пароль</p>
    <input class="form__field" type="text" id="password" placeholder="Введите пароль">
    <p class="form__error" id='errorpass'>Поле обязательно для заполнения</p>
    <p class="form__error" id='errorpass2'>Пароль должен содержать как минимум 8 символов</p>

    <div class="form__pc">
      <input class="form__box" type="checkbox" id="box">
      <label for="box" class="form__text">Я согласен получать обновления на почту
        </label>
    </div>

    <button class="form__send" id='btn'>
            Войти
    </button>
    <script src="src/script.js"></script>
</body>

</html>

javascript валидация
  • 1 个回答
  • 54 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5