2020-09-12 07:02发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在学习Hybris数据验证框架。 我看到我无法修改用户生成的类。 我应该使用beans-xml创建一个用户POJO来实现我所需要的吗?
您可以为模型实现验证拦截器。 请参阅: https://help.hybris.com/1808/hcd/8bfbf43e8669101480d0f060d79b1baa.html
示例(来自Hybris源代码)-为PriceRowModel创建PriceRowValidateInterceptor:
软件包de.hybris.platform.product.impl; 导入de.hybris.platform.catalog.model.CatalogVersionModel; 导入de.hybris.platform.core.model.product.ProductModel; 导入de.hybris.platform.core.model.product.UnitModel; 导入de.hybris.platform.europe1.model.PDTRowModel; 导入de.hybris.platform.europe1.model.PriceRowModel; 导入de.hybris.platform.jalo.JaloInvalidParameterException; 导入de.hybris.platform.servicelayer.interceptor.Interceptor; 导入de.hybris.platform.servicelayer.interceptor.InterceptorContext; 导入de.hybris.platform.servicelayer.interceptor.InterceptorException; 导入de.hybris.platform.servicelayer.interceptor.PrepareInterceptor; 导入de.hybris.platform.servicelayer.interceptor.ValidateInterceptor; 公共类PriceRowValidateInterceptor实现ValidateInterceptor { @Override 公共无效onValidate(final PriceRowModel priceRow,final InterceptorContext ctx)引发InterceptorException { validateMinQuantity(priceRow); validateUnitFactor(priceRow); } 私人无效validateMinQuantity(final PriceRowModel priceRow)引发InterceptorException { 如果(priceRow.getMinqtd()== null || priceRow.getMinqtd()<0) { 抛出新的InterceptorException("最小数量必须等于或大于零,但为" + priceRow.getMinqtd()); } } 私人无效validateUnitFactor(final PriceRowModel priceRow)引发InterceptorException { 如果(priceRow.getUnitFactor()== null) { 抛出新的InterceptorException(" Unit factor不能为空"); } 否则(priceRow.getUnitFactor()== 0) { 抛出新的InterceptorException("单位因子不能为零"); } } }
您可以创建自定义验证器。 这是一个示例: https://wiki.hybris.com/pages/viewpage.action?pageId=294094213
此处,您可以找到有关验证的很好的讨论。
不使用注释,另一种方式是使用impex。 例如,请参阅#1: https://help.hybris.com/1808/hcd/7ed4232ec84a4fb683d43a2c38f54cfb.html
就像您说的那样,我认为您不能在模型中使用注释,因为注释在您每次构建时都会重新构建。
最多设置5个标签!
您可以为模型实现验证拦截器。 请参阅: https://help.hybris.com/1808/hcd/8bfbf43e8669101480d0f060d79b1baa.html
示例(来自Hybris源代码)-为PriceRowModel创建PriceRowValidateInterceptor:
您可以创建自定义验证器。 这是一个示例: https://wiki.hybris.com/pages/viewpage.action?pageId=294094213
此处,您可以找到有关验证的很好的讨论。
不使用注释,另一种方式是使用impex。 例如,请参阅#1: https://help.hybris.com/1808/hcd/7ed4232ec84a4fb683d43a2c38f54cfb.html
就像您说的那样,我认为您不能在模型中使用注释,因为注释在您每次构建时都会重新构建。
一周热门 更多>