这是一个我一直没有解决的长期问题,所以我想听听你的意见。如果我知道某些操作由于权限不足或对象状态不可行,那么这些操作的UI元素应该被隐藏、显示但禁用,还是显示并在尝试时出现错误?您回答的理由是什么?如果禁用,是否会传达原因,如果是,如何传达?
这是一个Web界面,所以我已经知道需要检查传入的post/get权限并在那里处理错误。我主要是讨论如何处理UI。
这类似于禁用或隐藏菜单项规则,不过我对所有类型的UI元素都感兴趣,而不仅仅是菜单。
举例:
我有一个新页面,允许用户创建新活动。活动可以是主活动或子活动。创建主活动需要“EditMasterEvent”权限,而创建子活动只需要“EditEvent”权限。我有一个下拉列表,允许选择现有事件作为父级(主事件)或无父级(这是主事件)。如果用户只有“EditEvent”权限,是否应显示“创建主事件”选项。
删除活动需要成为应用程序管理员或具有适当的编辑权限。在后一种情况下,事件还必须超过5年。删除事件会导致系统中相关数据的重大级联删除,基于法律原因,这些数据必须至少保留5年。由于这个操作对于普通用户来说很少见,典型情况是该操作不可用。它应该总是显示还是仅在实际可能时才显示?