Saya sedang menulis formulir login sederhana menggunakan angularjs dengan beberapa validasi input sisi klien untuk memeriksa bahwa nama pengguna dan kata sandi tidak kosong dan lebih panjang dari tiga karakter. Lihat kode di bawah ini:
<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>
Dan pengontrolnya:
var controller = function($scope) {
$scope.login = {
submit: function() {
Console.info($scope.login.username + ' ' + $scope.login.password);
}
}
};
Masalahnya adalah bahwa login.submit
fungsi tersebut akan dipanggil bahkan jika inputnya tidak valid. Apakah mungkin untuk mencegah perilaku ini?
Sebagai catatan saya dapat menyebutkan bahwa saya juga menggunakan bootstrap dan requireejs.