验证拦截器错误消息未在Backoffice中显示

2020-08-15 00:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我已经在我的产品上创建了一个...

         点击此处--->   EasySAP.com群内免费提供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 == rova​​lStatus)
        {
          抛出新的InterceptorException("
             由于没有必填字段,因此无法将产品保存在批准中");
        }
    }
  }
 }
 

但是后台办公室会显示一般错误消息

我如何显示我的错误消息?

(55.3 kB)
7条回答
d56caomao
2020-08-15 00:58 .采纳回答

我通过更改方法解决了问题,我创建了一个自定义的TypeConstraint验证

公共类ApprovedProductValidator实现ConstraintValidator 
 {
   @Override
   公共布尔isValid(最终对象模型,最终ConstraintValidatorContext arg1)
   {
     如果(MyProductModel的模型实例)
     {
       最终的MyProductModel myProduct =(MyProductModel)模型;
       最终ArticleApprovalStatus批准状态= chemicalProductModel.getApprovalStatus();
       如果(ArticleApprovalStatus.APPROVED == rova​​lStatus)
       {
         .....
         返回false;
       }
     }
     返回true;
 }
 

现在保存被阻止,显示一条消息

一周热门 更多>