问题标签 [lift-record]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
114 浏览

mongodb - Lift (Mongo)Record 字段从另一个字段自动计算

我有一个包含日期时间的字段和一个非规范化字段,用于将相同的日期时间值存储为 unix 时间戳(出于目前我无法控制的原因)。

我希望时间戳字段始终与“主要”日期时间字段同步,并且最好甚至不能从该记录类的方法之外写入(但仍然是可读和可查询的)。

我已经查看了LifecycleCallbacks(根据一些较旧的文档应该可以工作,但现在应该与Field类型而不是Record类型一起使用)以及特殊Field类型(例如AutoFieldor ComputedField)都无济于事。

我应该考虑实现一个 custom Field,还是我忽略了一些明显的东西?我使用的是Lift 2.6-M2版本。

0 投票
1 回答
15 浏览

lift - 给定一个字段和一个记录,如何获取该记录中该字段的值?

我有类似的东西:

getValueIn...这就是我正在寻找的假设。

我一直找不到任何东西,但也许更有经验的 Lift'ers 知道一个窍门。

0 投票
1 回答
177 浏览

validation - Lift Record: empty value for required field but no validation errors

I've been trying to figure out how to do this without manually defining a validation but without any success so far.

I have a StringField

Now when I call .validate on a Foo, it returns no errors:

...and the document is saved into the (mongo) DB with no externalId.

So the question is: is there any way at all to have Lift automatically validate missing fields without me having to manually add stuff to validations?

EDIT: am I thinking too much in terms of the type of productivity that frameworks like Django and Rails provide out of the box? i.e. things like basic and very frequent validation without having to write anything but a few declarative attributes/flags. If yes, why has Lift opted to not provide this sort of stuff out of the box? Why would anybody not want .validate to automatically take into consideration all the def required_? = true/def optional_? = false fields?

0 投票
1 回答
398 浏览

validation - Lift 中带有特征的通用字段验证

我正在尝试定义 atrait Required来封装逻辑以验证 requiredRecord Field的存在,但是,我无法弄清楚 self 类型应该是什么。我的目标是能够写出尽可能接近 eg 的东西object foo extends SomeField(...) with Required,但是我确实意识到我可能必须明确地将某些类型参数传递给Required.

到目前为止,我的无能是:

导入 net.liftweb.record.Field 导入 net.liftweb.util.FieldError

但是,这会导致与存在类型相关的编译错误和警告:

更不用说它从简洁中得到with Required

编辑:

我想出了这个:

但是,它不允许我预先required考虑,super.validations因为它期望this.type.ValueType => List[FieldError]not String => List[FieldError],我觉得这很奇怪,因为在Field[String, ...], ValueType is String的情况下。

如果我更改required为 be ValueType => ...,它会编译,但会with Required[SomeModel]出现以下错误:

类型参数 [String,OwnerType] 不符合 trait 字段的类型参数界限 [ThisType,OwnerType <: net.liftweb.record.Record[OwnerType]]

...即使StringField.ThisTypeString并且String.OwnerType是 的子类Record[SomeModel]SomeModel是 的子类MongoRecord[SomeModel]。-我迷路了。

PS 这与电梯记录有关:必填字段的值为空,但没有验证错误

0 投票
1 回答
42 浏览

scala - 调用“验证”时,电梯记录不验证列表元素 - 错误或功能?

validate在 a上调​​用时Record,它会递归地调用validate每个字段。但是,如果一个字段是一个列表,BsonRecordListField那么默认情况下它没有任何validations注册,这会导致validate从父范围调用列表的元素时不会被验证。

validations覆盖列表字段以映射所有元素以获得真正完整的验证并不难。我想知道这种行为是设计使然还是错误?对我来说,验证所有字段及其元素(在这种情况下为列表元素)似乎更自然。

例如,覆盖可能如下所示:

问题是您必须记住为所有基于列表的字段执行此操作。

我只是猜测由于flatten那里的存在而将实现留给用户,即多个元素可能存在多个错误但相同FieldIdentifier- 不清楚列表中的哪个元素导致错误 - 需要提出自定义方式通过元素位置或其他方式区分错误。

0 投票
1 回答
1063 浏览

mongodb - 在 MongoDB 中提升存储 BigDecimal

我正在使用 MongoDB 在 Lift 中开发电子商务网站

我需要存储一些产品价格数据

我的问题是这样的:

如果我想存储数据类型 BigDecimal,我应该在 MongoDB 中使用什么字段类型

在 mapper 中是一个类型的字段:MappedDecimal,但是

在 net.liftweb.mongodb.record.field 中没有等价物

我怎样才能存储这些信息?

谢谢大家的关注和帮助

0 投票
0 回答
25 浏览

mongodb - 是否可以在一个 Lift-mongo-recorder 模型中包含多格式文档?

我尝试构建一个能够插入不同字段的模型(只有一个字段不同)。
此外,该字段应该是自定义格式,我将是一个嵌入对象。 文档表单 Assembla用例类定义嵌入字段,所以我不能使用基类(特征/抽象类)在我的记录器模型下定义。

希望插入不同的格式,例如

如何构建我的模型?
谢谢