我想阻止特定用户类型的表单提交,最好不需要在控制器中编辑某些内容而不使用任何类型的输入字段?所以基本上是这样的:
<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。
答案 0 :(得分:1)
您可以在表单元素上使用ng-submit
指令,如果您不希望它提交,则返回false。
<form ng-submit="user.type !== 'not-allowed' && controller.function()">