2016-01-03 1 views
1

Работа с простой формой контакта, где мне нужно показать сообщение об ошибке, если неопределенность $ не определена.Угловое ng-show, как сделать видимым

Часть проверки выполняется, однако я не могу вспомнить, как включить просмотр сообщения под ng-show на стороне html.

HTML:

<p class="response error" ng-show="error">{{errorMessage}}</p> 

JS:

var $emptyContent = 'Please enter your prices.'; 
app.controller('priceForm', ['$scope', '$http', function($scope, $http){ 
$scope.formData; 
// Process the form data 
$scope.submitForm = function() { 
    console.log($scope.formData); 
    if($scope.formData == null) { 
    // Show empty content message 

    console.log($emptyContent); 
    } 

} 
}]) 
+0

Почему не только 'нг-шоу =» errorMessage ", который будет показывать непустые сообщения об ошибках? – ryanyuyu

ответ

1

Просто сделать error флаг в true внутри контроллера ИЛИ вы можете просто ng-show="errorMessage", как @ryanyuyu предложил в комментарии.

Код

$scope.submitForm = function() { 
    console.log($scope.formData); 
    if($scope.formData == null) { 
    $scope.error = true; //or //$scope.errorMessage = $emptyContent; 
    } 
}; 
+0

Есть ли способ, которым я могу разобрать сообщение в $ scope.error? –

+0

@JesseC Я не понимаю, что именно вы хотели сделать? не могли бы вы подробнее рассказать об этом? –

+0

Я получил его, просто изменил строку: $ scope.errorMessage = $ emptyContent; –

0

Вы не хотите, чтобы создать настраиваемую область ошибок используется предопределенный объект, чтобы решить эту проблему

<form name="myForm"> 
    <label> 
    Enter your name: 
    <input type="text" 
      name="myName" 
      ng-model="name" 
      ng-minlength="5" 
      ng-maxlength="20" 
      required /> 
    </label> 
    <pre>myForm.myName.$error = {{ myForm.myName.$error | json }}</pre> 

    <div ng-messages="myForm.myName.$error" style="color:maroon" role="alert"> 
    <div ng-message="required">You did not enter a field</div> 
    <div ng-message="minlength">Your field is too short</div> 
    <div ng-message="maxlength">Your field is too long</div> 
    </div> 
</form> 

https://docs.angularjs.org/api/ngMessages/directive/ngMessages

Смежные вопросы