1 : вам не нужно устанавливать значение по умолчанию как false
, все переменные false
по умолчанию, а также ваши email
и pass
пусты в виде строки.
if(angular.isUndefined($scope.email)) {...}
2 : попробуйте преобразовать свои свойства как один object
, это поможет вам оптимизировать коды.
--------------------------------------Html
<input ng-model="form.email">
<input ng-model="form.pass">
--------------------------------------Controller
scope.form = {email: "", pass: "", message: { validation: "", error: "" } }
3 : вам не нужно return
в angularjs, когда вы используете scope
, и вам нужно:
if(...) { scope.x = true; return false; }
4 : $scope.$apply()
не работает, когда выуже используют собственные коды angularjs, например, когда вы используете scope
, это уже apply()
в вашем угловом коде:
var textInput = $(".textInput").val(); //jquery selector
$scope.textInput = textInput; // not bind until $apply
$scope.$apply(); //scope applied
5 : как @briosheje сказал в ваших комментариях, $scope.displayErrorMessage
не используется в вашем html
, вы должны использовать его как то, что вы сделали с $scope.displayValidationMessage
.