/** * Created by Pensare Software. * User: Theo Weijmer * Date: 05/12/2017 * Time: 11:17 */ var dbo = {}; $( function () { dbo.loginModel = { username: ko.observable( '' ), password: ko.observable( '' ), login: function () { dbo.loginService.login(); } } ko.applyBindings( dbo.loginModel, document.getElementById( "login-form" ) ); } ); dbo.loginService = { login: function () { var ds = dbo.loginDataservice; var self = dbo.loginService; var vm = dbo.loginModel; self.validateInput( function ( submitDATA ) { if ( ! submitDATA ) return self.notifyWrongPassword(); ds.login( submitDATA, function ( data ) { if ( data ) return location.reload(); self.notifyWrongPassword(); } ); } ); }, validateInput: function ( callback ) { var vm = dbo.loginModel; if ( vm.username().length < 2 ) return callback( false ); if ( vm.password().length < 6 ) return callback( false ); var submitDATA = { username: vm.username(), password: vm.password } return callback( submitDATA ); }, notifyWrongPassword: function () { notifyMe( { title : 'Login fout', message: 'Gebruikersnaam / wachtwoord komen niet overeen' } ); } }; dbo.loginDataservice = { login: function ( submitDATA, callback ) { $.post( 'index.php/login/', submitDATA, function ( data ) { callback( data ); } ); } };