我玩了nhibernate验证器并获得了近乎完美的解决方案.
我可以定义一个要验证的属性,并在预先保存时完成.但我有些情况下它不起作用.
假设我有一个名为person的对象,并且通过nhibernate我将地址(也是一个对象)映射为person的属性(实际上它是一个地址列表).
当我保存该人时,我的地址未经过验证.
输入信息的表格由部分表格构成.如果地址验证可以添加到人员的验证列表中会很好,但这不是必需的.
我需要一个通用的解决方案,我不能用“手”验证,例如如果人然后验证地址……不知何故,验证者应该看到该属性背后有一个对象,我也必须验证.
更新:我正在寻找的是一种验证映射对象的方法(hasmany).
最佳答案 如果您正在尝试将输入验证放在这些类中,这是我认为您正在尝试做的事情,我会反对它,因为这是业务逻辑.你在Hibernate中找到的任何东西都只是为了确保数据库中的约束(即非空列).
我建议您创建一个实用程序类或方法来为您进行输入验证.如果您需要向实体属性添加数据库约束,请务必这样做,但我不会依赖它们进行输入验证.