【问题标题】:SailsJS: How do I set attributes to NOT NULL?SailsJS:如何将属性设置为 NOT NULL?
【发布时间】:2015-05-06 05:02:18
【问题描述】:

我注意到,如果我不从 REST API 发布一个属性,它就会被设置为 NULL。如何在 Sails.js 模型中强制执行 NOT NULL?

【问题讨论】:

  • 你在你的模型中尝试 defaultsTo 吗?
  • 你能解释一下你的意思吗?我对sailsjs 很陌生。
  • 如果我了解您的问题,您的数据库中有 null。您可以在模型声明中设置默认值:sailsjs.org/#!/documentation/concepts/ORM/Attributes.html。在你的课堂上:defaultsTo: '111-222-3333'
  • 我知道你现在可以设置一个默认值。但是,我想要的是强制执行一个值,而不仅仅是默认某个值。通常我会在路由处理程序中编写代码来检查和验证请求中的字段,如果缺少任何内容,我会给出错误。有没有办法在sailsjs中做到这一点?更好的是,我注意到primaryKey 属性的required 属性;我可以使用required 来强制执行属性吗?
  • 你能举个例子吗?你想做什么。

标签: mysql sails.js


【解决方案1】:

你想设置required:true

https://github.com/balderdashy/waterline-docs/blob/master/models.md#validations

attributes: {
  username: {
    type: 'string',
    required: true
  }
}

【讨论】:

  • 有什么方法可以从 Models 中将 null 设置为 false
【解决方案2】:

如果您不希望该属性是必需的,并且想用其他东西替换默认的null,您也可以使用defaultsTo:

attributes: {
  status: {
    type: 'string',
    defaultsTo: 'pending'
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 2013-04-21
    • 2013-08-16
    • 2017-05-05
    相关资源
    最近更新 更多