Ich schreibe ein einfaches Anmeldeformular mit anglejs mit einer clientseitigen Eingabevalidierung, um zu überprüfen, ob der Benutzername und das Kennwort nicht leer und länger als drei Zeichen sind. Siehe den folgenden Code:
<form name="loginform" novalidate ng-submit="login.submit()" class="css-form">
<fieldset>
<div class="control-group input-prepend">
<span class="add-on"><i class="icon-user"></i></span>
<input type="text" ng-model="login.username" name="username" required ng-minlength="3" placeholder="username" />
</div>
<div class="control-group input-prepend">
<span class="add-on"><i class="icon-lock"></i></span>
<input type="password" ng-model="login.password" name="password" required ng-minlength="3" placeholder="" />
</div>
<div class="control-group">
<input class="btn" type="submit" value="Log in">
</div>
</fieldset>
</form>
Und der Controller:
var controller = function($scope) {
$scope.login = {
submit: function() {
Console.info($scope.login.username + ' ' + $scope.login.password);
}
}
};
Das Problem ist, dass die login.submit
Funktion auch dann aufgerufen wird, wenn die Eingabe ungültig ist. Ist es möglich, dieses Verhalten zu verhindern?
Als Randnotiz kann ich erwähnen, dass ich auch Bootstrap und Requirejs verwende.