<form>
<input type="text">
<input type="textarea">
<input type="checkbox">
...
<input type="submit">
</form>
<form name="formName">
<input type="text" name="name">
<button>Submit</button>
</form>
<form name="formName">
<input type="text"
name="name"
ng-model="ctrl.name">
<button ng-click="ctrl.go()">Submit</button>
</form>
<form name="formName" novalidate>
<input type="text"
name="name"
ng-model="ctrl.name"
required
minlength="4">
<button ng-click="ctrl.go()">Submit</button>
</form>
<input type="text"
name="name"
ng-model="ctrl.name"
required
minlength="4">
<span ng-if="formName.name.$error.required && formName.name.$touched">
Name is required
</span>
...
<button ng-disable="formName.$invalid"
ng-click="ctrl.go()">
Submit
</button>
.ng-touched.ng-valid{
border: 2px green solid;
}
.ng-touched.ng-invalid{
border: 2px red solid;
}