AngularJS form 指令

定义和用法

AngularJS 修改 <form> 元素的默认行为。

AngularJS 应用程序内的表单被赋予了某些属性。这些属性描述了表单的当前状态。

表单有以下状态:

  • $pristine 尚未修改任何字段
  • $dirty ఒకటికి లేదా ఎక్కువ ఫీల్డ్లు మార్చబడినవి
  • $invalid ఫారమ్ కంటెంట్ అనివార్యంగా ఉంది
  • $valid ఫారమ్ కంటెంట్ విజయవంతంగా ఉంది
  • $subscribed 表单已提交

每个状态的值代表一个布尔值,为 truefalse

如果未指定 action 属性,AngularJS 中的表单会阻止默认操作,即向服务器提交表单。

实例

例子 1

只要所需的输入字段为空,此表单的“有效状态”就不会被视为 "true":

<form name="myForm">
<input name="myInput" ng-model="myInput" required>
</form>
<p>表单的有效状态是:</p>
<h1>{{myForm.$valid}}</h1>

亲自试一试

例子 2

将样式应用于未修改的(原始)表单和修改后的表单:

<style>
form.ng-pristine {
    background-color: lightblue;
}
form.ng-dirty {
    background-color: pink;
}

亲自试一试

语法

通过使用 name 属性的值来引用表单。

CSS క్లాసెస్

AngularJS అప్లికేషన్ లోని ఫారమ్ కు కొన్ని క్లాసెస్ జోడించబడినవి. ఈ క్లాసెస్ ఫారమ్ యొక్క స్థితి ఆధారంగా ఫారమ్ స్టైల్స్ అమర్చడానికి ఉపయోగించబడతాయి.

క్రింది క్లాసెస్ జోడించబడినవి:

  • ng-pristine ఏ ఫీల్డ్ సవరించబడలేదు
  • ng-dirty ఒకటికి లేదా ఎక్కువ ఫీల్డ్లు మార్చబడినవి
  • ng-valid ఫారమ్ కంటెంట్ విజయవంతంగా ఉంది
  • ng-invalid ఫారమ్ కంటెంట్ అనివార్యంగా ఉంది
  • ng-valid-key ప్రతి సీక్రీట్ పరిశీలన జరుగుతుంది. ఉదాహరణకు:ng-valid-requiredఒకటికన్నా ఎక్కువ పరిశీలనలకు చాలా ఉపయోగపడుతుంది
  • ng-invalid-key ఉదాహరణకు:ng-invalid-required

ఈ క్లాస్ ప్రతినిధించే విలువ ఉన్నట్లయితే falseఅప్పుడు ఈ క్లాసెస్ తొలగించబడతాయి.