2017-02-09 105 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 %}' 
} 

,你將有一個對象,它包含所有你的預定義按鈕狀態,然後你檢查你的重新啓用方法。

在這兩種情況下,永遠不要忘記檢查你的觀點或表單提交的表單的用戶權限。