2017-02-09 104 views
0

所以我知道如何禁用/启用按钮时以相同的形式输入是空/填满。如何禁用/启用空输入按钮/满负荷,同时保持权限

但是,让我们说,我已经首次应用于后端的权限和禁用一些按钮。我如何确保没有权限的人在输入中写入时不会重新启用它们?

我在理论上还可以禁用基于权限的所有投入,但你可以提出一个更好的解决方案?

例在Django模板:

<button type="submit" class="btn btn-default" id="my_button" 
      {% if not can_post %}disabled{% endif %}>Apply 
    </button> 
+0

这个问题不明确,一般你只需要显示具有正确的权限(显示/隐藏瓦特/电子元件...)你的用户界面,然后开始进行验证在视图/表单级别提交。 – HassenPy

+0

@HassenPy我不想隐藏用户界面,我想禁用它的权限,所以有人可以看到元素,如果他有权“阅读”,而不是“写” – Saksow

+1

你刚才提到的显示/隐藏为一个相对于用户权限的动作示例,现在我重新读取了您的帖子,您可以通过多种方式完成此操作,具体取决于您的项目设置,如果您使用无框架的轻型javascript,则可以简单地放入一个属性到你的按钮,比如'data-has-perm = 0',然后在你的启用脚本上添加一个检查权限数据。 – HassenPy

回答

1

您可以在许多方面做到这一点,取决于你的项目设置。

如果您在做光源JavaScript而没有进行大量的UI修改,您可以简单地将data attribute拖放到定义初始权限的按钮data-has-perm=0,然后在启用脚本上添加一个对该权限的检查 - 启用按钮。

但是,如果你粗放型UI修改,我想做到这一点的最好办法是通过创建您的所有按钮,例如像状态对象:

var buttons = { 
    '#b1': {'initPerm': 0}, 
    // in your templates file simply do '#b1': {'initPerm': {% if not can_post %}0{% else %}1{% endif %}' 
} 

,你将有一个对象,它包含所有你的预定义按钮状态,然后你检查你的重新启用方法。

在这两种情况下,永远不要忘记检查你的观点或表单提交的表单的用户权限。