2015-10-11 30 views
1

我在我的一个模型中为其中一个字段设置了验证规则maxLength,如果我的输入太长,它会被sails.js识别。我的问题是,如果我检查我的数据库,它显示我的MySQL数据库字段长度为255。我期望它与我的maxLength值相同。sails.js waterline:maxLength未设置在数据库中

我发现这个StackOverflow上: SailsJS - How to specify string attribute length without getting error when creating record?

由于这已经打开Sails.js取得了很大的进步,所以我不知道,如果自定义的验证规则仍然是要走的路。我不喜欢这个,因为它看起来更像是一个临时的黑客而不是真正的解决方案。

这是预期的行为还是错误?

回答

0

我知道你不需要这个答案了,但也许别人会这么做。

您必须为此使用size属性。

DOC上的说:

如果适配器支持,可用于定义属性的大小。例如在MySQL中,size可以被指定为一个数字(n)来创建一个SQL数据类型的列:varchar(n)。

就使用这样的

attributes: { 
    name: { 
    type: 'string', 
    size: 24 
    } 
} 

https://sailsjs.com/documentation/concepts/models-and-orm/attributes#size