django-oscar后台产品页标签错误提示误触发问题及优化建议
Django-Oscar 后台商品管理标签页错误提示误触发问题及修复建议
在django-oscar的后台商品管理(dashboard/catalogue/product)界面中,原有逻辑是当标签页内存在错误时,标签导航会显示红色提示圈,对应的dashboard.js代码如下:
var productErrorListener = $(this).find('[class*="error"]:not(:empty)').closest('.tab-pane').attr('id');
这段逻辑在原生Oscar环境中运行正常,但搭配JSONEditorWidget时,由于该组件包含jsoneditor-validation-errors-container类元素(类名包含"error"),即使商品没有实际错误,也会误触发标签导航的红色提示圈。
建议优化find()的匹配条件,采用更严格的判断规则:
- 避免模糊匹配所有含"error"的类,改为精确匹配Django表单错误对应的类,比如使用
.error选择器 - 或者进一步限定错误元素的上下文,只查找表单字段下的错误容器,示例:
var productErrorListener = $(this).find('.form-group .error:not(:empty)').closest('.tab-pane').attr('id');
注:因django-oscar邮件列表活跃度低且垃圾邮件泛滥,故在此反馈该问题。
内容的提问来源于stack exchange,提问作者aikipooh
相关产品推荐
相关产品推荐

