点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,我已经在我的产品上创建了一个验证拦截器
公共类MyProductValidatorInterceptor实现ValidateInterceptor { @Override 公共无效onValidate(最终对象模型,最终InterceptorContext ctx)抛出InterceptorExceptio { 如果(模型实例为MyProductModel &&(ctx.isNew(model)|| ctx.isModified(model,ChemicalProductModel.APPROVALSTATUS))) { 最终的MyProductModel myProductModel =(MyProductModel)模型; 最终ArticleApprovalStatus批准状态= chemicalProductModel.getApprovalStatus(); 如果(ArticleApprovalStatus.APPROVED == rovalStatus) { 抛出新的InterceptorException(" 由于没有必填字段,因此无法将产品保存在批准中"); } } } }
但是后台办公室会显示一般错误消息
我如何显示我的错误消息?
(55.3 kB)
我通过更改方法解决了问题,我创建了一个自定义的TypeConstraint验证
现在保存被阻止,显示一条消息
您好Crescenzo,您使用的是1905吗?
您好,Crescenzo ,
我有同样的问题。 我曾经使用相同的方法在Backoffice中显示自定义错误消息...
因此,这似乎是1905版中弹出的一个"新"问题。?!
您使用哪个版本?
SAP/Hybris对此有何评论?
最诚挚的问候!
Torsten
是的,我将版本1905.13与hybris-cloud-extension-pack-1905.2004一起使用
嗨托伦·洛伦兹,
要显示自定义消息,请尝试使用
此致
Crescenzo
非常感谢Crescenzo。
但是我想坚持使用原始方法,因为我不想更改项目中所有现有的Interceptor(使用自定义消息抛出InterceptorException)和单元测试。
ModelSavingExceptionTranslationHandler上toString方法的实现,负责解决出现ModelSavingException时在bakoffice中显示的错误消息,在版本1905中已更改。 >
Hybris在内部捕获所有InterceptorExeptions,然后重新抛出ModelSavingException,并以异常为原因。
1905年版本的实现如下:
通过此实现,无论原因是什么,错误消息将始终相同。
为了进行比较,6.4中的实现显示了抛出异常的详细消息,如下所示:
这应该是一个错误,因为文档 1905年仍然说将显示抛出异常的消息,否则文档不是最新的。
可以通过重写ModelSavingExceptionTranslationHandler来解决此问题,但这会影响Hole平台,我们还不知道为什么首先要更改实现。 因此,更明智的是向SAP支持人员报告此事。
一周热门 更多>