Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript node.js无法读取属性';长度';未定义的;在Object.username_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript node.js无法读取属性';长度';未定义的;在Object.username

Javascript node.js无法读取属性';长度';未定义的;在Object.username,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我试图在node.js中创建用户/通过验证程序,但我没有经验,因此收到以下错误: TypeError:无法读取未定义的属性长度;位于Object.username(C:\Users\61468\Desktop\WebServer\validation.js:2:18) 我尝试了username/password.value并尝试了字符串,但我被卡住了。非常感谢您的帮助 const express = require("express"); const router = exp

我试图在node.js中创建用户/通过验证程序,但我没有经验,因此收到以下错误: TypeError:无法读取未定义的属性长度;位于Object.username(C:\Users\61468\Desktop\WebServer\validation.js:2:18) 我尝试了username/password.value并尝试了字符串,但我被卡住了。非常感谢您的帮助

const express = require("express");
const router = express.Router();
const db = require("../../mongo").db(); 
const validate = require("../../validation");
const mongo = require("../../mongo");

router.post("/register", (req, res) => {
    let {username, email, password} = req.body;
    let err = validate.username(username);
    if(err) throw err;
    err = validate.password(password);
    if(err) throw err;          
    mongo.collection(users).insert({ "username": username, "password": password }).then((err, res) => {
    res.send("I just registered");
    if(err) throw err;
    })
    });

module.exports = router;


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>WebServer</title>
    <script>
        function register() {
            let data = { 
            username: document.querySelector("#user").value,
            pass: document.querySelector("#pass").value,
            }
            fetch("/api/register", {
                method: "POST",
                body: JSON.stringify(data),
            
            }).then((res) => {
                console.log(res.json());
            });
            
        }
    </script>
</head>
<body>
    <h1>Register:</h1>
    <input id = "user" placeholder="username">
    <input id = "pass" type = "password"placeholder="password">
    <button onclick="register()">Register</button>


</body>
</html>



function username(username) {
    if (username.length < 3) {
        return "Username cannot be less than 3 characters!";
    } else if (username.length > 15){
        return "Username cannot be longer than 15 characters!";
    }
    return "";
    
}

function password(password) {
    if (password.length < 8) {
        return "Password cannot be less than 8 characters!";
    } else if (password.length > 20){
        return "Password cannot be longer than 20 characters!";
    }
    return "";
}

module.exports = {
    username,
    password
}
const express=require(“express”);
const router=express.router();
const db=require(“../../mongo”).db();
const validate=require(“../../validation”);
const mongo=require(“../../mongo”);
路由器.post(“/寄存器)”,(请求,res)=>{
让{username,email,password}=req.body;
让err=validate.username(用户名);
如果(错误)抛出错误;
err=validate.password(密码);
如果(错误)抛出错误;
集合(用户)。插入({“username”:username,“password”:password})。然后((err,res)=>{
res.send(“我刚刚注册”);
如果(错误)抛出错误;
})
});
module.exports=路由器;
网络服务器
函数寄存器(){
让数据={
用户名:document.querySelector(“#user”).value,
通过:document.querySelector(“#通过”).value,
}
获取(“/api/寄存器”{
方法:“张贴”,
正文:JSON.stringify(数据),
})。然后((res)=>{
log(res.json());
});
}
登记册:
登记
函数用户名(username){
如果(username.length<3){
return“用户名不能少于3个字符!”;
}否则如果(username.length>15){
return“用户名不能超过15个字符!”;
}
返回“”;
}
功能密码(密码){
如果(密码长度<8){
return“密码不能少于8个字符!”;
}否则如果(password.length>20){
return“密码不能超过20个字符!”;
}
返回“”;
}
module.exports={
用户名,
密码
}

如果需要答案,则需要重命名函数 如果它不起作用,那么你需要尝试一下

在函数中添加条件,如

function password(password) {
    if (password && password!=undefined && password.length < 8) {
        return "Password cannot be less than 8 characters!";
    } else if (password && password!=undefined &&password.length > 20){
        return "Password cannot be longer than 20 characters!";
    }
    return "";
}
功能密码(密码){
if(password&&password!=未定义&&password.length<8){
return“密码不能少于8个字符!”;
}else if(password&&password!=未定义&&password.length>20){
return“密码不能超过20个字符!”;
}
返回“”;
}

像这样。

如果您需要答案,那么您需要重命名您的函数 如果它不起作用,那么你需要尝试一下

在函数中添加条件,如

function password(password) {
    if (password && password!=undefined && password.length < 8) {
        return "Password cannot be less than 8 characters!";
    } else if (password && password!=undefined &&password.length > 20){
        return "Password cannot be longer than 20 characters!";
    }
    return "";
}
功能密码(密码){
if(password&&password!=未定义&&password.length<8){
return“密码不能少于8个字符!”;
}else if(password&&password!=未定义&&password.length>20){
return“密码不能超过20个字符!”;
}
返回“”;
}

类似于此。

您的参数与函数的调用方式相同。尝试重命名函数或参数。也就是说,
函数validateUsername(username).
您的参数与函数调用的内容相同。尝试重命名函数或参数。例如,
函数validateUsername(用户名).