我得到了一个有趣的"尝试使用我的API添加新用户时出现问题...即使提交了必填字段,我也会收到以下错误。我无法弄清楚原因。我已经添加了代码的相关部分。感谢。
{"errors":{"email":{"message":"Path `email` is required.","name":"ValidatorError","properties":{"message":"Path `{PATH}` is required.","type":"required","path":"email"},"kind":"required","path":"email","$isValidatorError":true}},"_message":"User validation failed","message":"User validation failed: email: Path `email` is required.","name":"ValidationError"}
错误:
[...]
user_name: {
type: String,
lowercase: true,
required: true,
index: {
unique: true
},
trim: true,
min: 3,
max: 8
},
email: {
type: String,
lowercase: true,
required: true
},
[...]
模型/ user.js的
router.post('/users', (req, res, err) => {
var user = new User(req.body);
user.save()
.catch((err) => {
res.send(err);
});
});
路由/ user.js的
buildscript {
repositories {
google() // Speficically this entry
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
答案 0 :(得分:0)
你有这个:
var user = new User();
user.name - req.body.name;
user.email = req.body.email;
更改为:
<div>
<form method="post" action="/users/save">
<div>
<label>Name</label>
<input type='text' required name="userName"/>
</div>
<div>
<label>Email</label>
<input type='text' required name="email"/>
</div>
<input type="submit" class="submit btn btn-primary" value="Save">
</form>
</div>
编辑:这是HTML表单:
public void run(ExampleConfiguration configuration, Environment environment) throws Exception {
Stream<ConnectorFactory> connectors = configuration.getServerFactory() instanceof DefaultServerFactory
? ((DefaultServerFactory)configuration.getServerFactory()).getApplicationConnectors().stream()
: Stream.of((SimpleServerFactory)configuration.getServerFactory()).map(SimpleServerFactory::getConnector);
int port = connectors.filter(connector -> connector.getClass().isAssignableFrom(HttpConnectorFactory.class))
.map(connector -> (HttpConnectorFactory) connector)
.mapToInt(HttpConnectorFactory::getPort)
.findFirst()
.orElseThrow(IllegalStateException::new);
}
当用户按下提交按钮时,您的req.body将整齐地发送到您的路由器。你将有req.body.userName和req.body.email等你。
我删除了很多CSS以便于阅读。根据需要应用您自己的样式。