我想在新用户注册期间添加自定义字段,但它显示错误消息:
不是已配置的注册字段。
但第https://docs.stormpath.com/angularjs/sdk/#/api/stormpath.spRegistrationForm:spRegistrationForm页上的文档指出:
您提供的任何表单字段不是默认字段(名字,姓氏)之一,将自动放入新帐户的惯例数据对象中。
我使用的代码:
<form ng-submit="submit()">
<div class="form-group">
<input type="text" class="form-control" placeholder="First Name" ng-model="formModel.givenName" required="" ng-disabled="creating">
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Last Name" ng-model="formModel.surname" required="" ng-disabled="creating">
</div>
<div class="form-group">
<input type="email" class="form-control" placeholder="Email" ng-model="formModel.email" required="" ng-disabled="creating">
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="Password" ng-model="formModel.password" required="" ng-disabled="creating">
</div>
<div class="form-group">
<input type="text" class="form-control" placeholder="Custom field" ng-model="formModel.customfield" required="" ng-disabled="creating">
</div>
<p class="alert alert-danger" ng-show="error>
<button type="submit" class="btn btn-primary" ng-disabled="creating">Register</button>
</form>
&#13;
如何在注册表单上添加自定义字段?
答案 0 :(得分:2)
我想为此处的任何人提交更新的答案。在挖掘node_modules/express-stormpath/lib/helpers/get-required-registration-fields.j
之后,我在第26行注意到代码引用了config.web.register.fields
,而文档引用了web.register.form.fields。通过移除form
键并提升字段键,一切正常!
答案 1 :(得分:0)
从错误消息中可以看出您在后端使用我们的Express-Stormpath库(请告知我这是不正确的。)
您还需要在Express服务器中配置字段。我们还需要服务器端表单配置,以防止对用户的自定义数据对象的任意请求。
有关表单配置的文档,请访问:
http://docs.stormpath.com/nodejs/express/latest/registration.html#creating-custom-fields
希望这有帮助!附:我在Stormpath工作:)
答案 2 :(得分:0)
web: {
produces:
['application/json'],
register: {
enabled: true,
uri: '',
form: {
fields:
{ organization_id: { enabled: true, required: true, } }
}
}
==