2015-10-11 33 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