Как получить значение контроллера для проверки Ng-сообщения?
Я пытаюсь получить значение от контроллера до ошибки сообщения ng, но значение не приходит.
В ng-show я могу легко привязать значение к ng-show, но в ng-message я не знаю, как это сделать...
<body ng-app="BlankApp" ng-cloak ng-controller="ctrl">
<form name="exampleForm" ng-submit="exampleForm.$valid && demo()">
<label>User Message:</label>
<input type="text" name="userMessage" class="form-control" rows="4" ng-model="message" ng-minlength="10" ng-maxlength="100" required></textarea>
<div ng-messages="submitted1 && exampleForm.userMessage.$error">
<div ng-message=" required">This field is required</div>
<div ng-message=" test">Message must be over 10 characters</div>
<div ng-message="test">{{test}}</div>
</div>
<input type="submit" ng-click="submitted1=true" value="Recharge"/>
</form>
<script type="text/javascript">
angular.module('BlankApp', ['ngMessages'])
.controller('ctrl',function($scope){
$scope.message;
$scope.val=40;
$scope.demo=function(){
if($scope.val >=$scope.message)
$scope.msg="Hello world"
}
else{
$scope.test="pls enter the number 10 to 40"
}
})
</script>
</body>
1 ответ
ng-messages
директива должна слушать объект ключ / значение. И каждый ng-message
является ключом в предыдущем объекте. Также test
неверный ключ в exampleForm.userMessage.$error
объект, как описано в официальной документации: https://docs.angularjs.org/api/ngMessages
Таким образом, вы можете переписать свой код примерно так:
<div ng-if="submitted1">
<div ng-messages="exampleForm.userMessage.$error">
<div ng-message="required">This field is required</div>
</div>
</div>