2014-10-02 49 views
0

我想要預防特定用戶類型的表單提交,最好不必編輯控制器中的某些內容並且不使用任何類型的輸入字段?所以基本上是這樣的:如何使angularjs中的表單失效? (或如何禁用angularjs中的表單?)

<form> 
    <div class ="alert" 
     ng-if="user.type='not-allowed'" 
     maybe-an-invalidate-directive> 
     <p>No! Don't!</p> 

     <!-- or something like this ??? --> 
     <input type ="hidden" 
      required 
      ng-model="'false'"> 
    </div> 
.... 
</form> 

雖然第一個應該是絕對可能的,但我很樂意聽到更直接的解決方案。

編輯:

思考了一段時間之後,我想那就是我想要做的,是不是使得表格無效,但將其禁用。對於a solution see this question

+1

如果您不滿意,請解釋。 – 2014-10-02 19:22:25

回答

1

您可以在表單元素上使用ng-submit指令,並且如果您不希望它提交,則返回false。

<form ng-submit="user.type !== 'not-allowed' && controller.function()"> 
+0

有趣!我如何將它與ng-submit上的提交功能結合使用,例如'''form ng-submit =「user.type!=='not-allowed; submit()'」>''' – 2014-10-02 19:34:37

+0

更新了我的答案。如果第一個表達式爲false,則不會調用controller.function。 – 2014-10-02 19:36:55

+1

不介意downvoters,我喜歡你的答案!幾乎正是我所期待的。 – 2014-10-02 19:40:45

相關問題