2015-05-14 3 views
-2

Я хочу проверить текст текстовой области.Проверка текста - Textarea

В случае пустых, HTML текст пустой, как

<table> 
    <tbody> 
     <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
      <td></td> 
     </tr> 
     <tbody> 
</table> 

Все пустые случаи не должны принимать. Пожалуйста, предложить JS/angularjs код

Вот мой TextArea

<textarea placeholder="Answer" ng-model="answer"></textarea> 
+1

Я не понимаю, что вы имеете в виду. Вы хотите проверить, что в строке HTML есть хотя бы видимое содержимое или текст, или? –

+2

@ Matti Virkkunen Да, вы правы, он должен иметь по крайней мере один видимый текст. –

+0

Что относительно другого видимого контента? Учитывается ли '' как видимый контент? Как насчет текста, который не будет отображаться? Does '' count at visible? Это не так просто, как вы думаете. –

ответ

0

Вы можете написать директиву, которая соответствует вашим td теги и видит, если они имеют содержание или нет

.directive('td', function() { 
    return { 
    restrict: 'E', 
    link: function (scope, elem, attrs) { 
     if (elem[0].textContent === '') { 
     // handle validation 
     } 
    } 
    } 
}); 

Вы также можете проверить против elem[0].innerHTML, если содержимое внутри td должно быть HTML, а не простым текстом. И если вы не хотите, чтобы соответствовать всем td тегам вы можете просто сделать пользовательское имя для директивы и назначить ему все тег, где это необходимо

+2

Как назначить все теги? –

+1

Фрагмент выше уже присвоен этой директиве всем тегам '' td''' –

1

Воспринимайте это как идея не ответ

Использование нг -show директива

<textarea placeholder="Answer" ng-model="answer" ng-show="isValidate"></textarea> 

<button ng-click="validate()">Submit</button> 

в contrller

function ctrl($scope){ 
    $scope.isValidate = true; 
    $scope.validate = function() { 

    if($scope.answer.length === 0){ 
      $scope.isValidate = false; 
    } 
    } 
} 
Смежные вопросы