AngularJS Eingabevalidierung


AngularJS-Formulare und Steuerelemente können Eingabedaten validieren.


Eingabevalidierung

In den vorherigen Kapiteln haben Sie etwas über AngularJS-Formulare und Steuerelemente gelernt.

AngularJS-Formulare und Steuerelemente können Validierungsfunktionen bereitstellen und Benutzer vor ungültigen Eingabedaten warnen.

Note Die clientseitige Validierung kann die Sicherheit der Benutzereingabedaten nicht gewährleisten, daher ist auch eine serverseitige Datenvalidierung erforderlich.

Anwendungscode

<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<body>

<h2>Validierungsbeispiel</h2>

<form  ng-app="myApp"  ng-controller="validateCtrl"
name=
"myForm" novalidate>

<p>Benutzername:<br>
  <input type="text" name="user" ng-model="user" required>
  <span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
  <span ng-show="myForm.user.$error.required">Benutzername ist erforderlich.</span>
  </span>
</p>

<p>E-Mail:<br>
  <input type="email" name="email" ng-model="email" required>
  <span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
  <span ng-show="myForm.email.$error.required">E-Mail ist erforderlich.</span>
  <span ng-show="myForm.email.$error.email">Ungültige E-Mail.</span>
  </span>
</p>

<p>
  <input type="submit"
  ng-disabled=
"myForm.user.$dirty && myForm.user.$invalid ||
  myForm.email.$dirty && myForm.email.$invalid"
>
</p>

</form>

<script>
var app = angular.module('myApp', []);
app.controller('validateCtrl', function($scope) {
    $scope.user = 'John Doe';
    $scope.email = '[email protected]';
});
</script>

</body>
</html>

Selbst ausprobieren »

Note HTML-FormularattributenovalidateWird verwendet, um die Standardvalidierung des Browsers zu deaktivieren.

Beispielanalyse

AngularJS ng-modelDie Direktive wird verwendet, um Eingabeelemente an das Modell zu binden.

Das Modellobjekt hat zwei Attribute:userundemail。

Wir habenng-showdiecolor:redin der E-Mail$dirtyoder$invalidsind beide wahr, um angezeigt zu werden.

Eigenschaft Beschreibung
$dirty Formular wurde ausgefüllt
$valid Feldinhalt ist gültig
$invalid Feldinhalt ist ungültig
$pristine Formular wurde nicht ausgefüllt
Andere Erweiterungen