J'écris un formulaire de connexion simple en utilisant angularjs avec une validation des entrées côté client pour vérifier que le nom d'utilisateur et le mot de passe ne sont pas vides et ont plus de trois caractères. Voir le code ci-dessous :
<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>
Et le contrôleur :
var controller = function($scope) {
$scope.login = {
submit: function() {
Console.info($scope.login.username + ' ' + $scope.login.password);
}
}
};
Le problème est que le login.submit
sera appelée même si l'entrée n'est pas valide. Est-il possible d'empêcher ce comportement ?
En passant, je peux mentionner que j'utilise également bootstrap et requirejs.