Я пытаюсь проверить мою текстовую область:Угловой JS проверка
<form id="contact_form" name="contactform" ng-submit="submit(contactform)" role="form">
<textarea class="form-control" id="Message" ng-model="formData.message" ng-trim="false" placeholder="Your message" required="required" rows="8"></textarea>
</form>
Для максимального количества слов, поэтому я добавил фильтр:
app.filter('wordCounter', function() {
return function (value) {
if (value && typeof value === 'string') {
return value.trim().split(/\s+/).length;
} else {
return 0;
}
};
});
И когда этот фильтр встретил я распечатать ошибка:
<span class="help-block" ng-show="(formData.message|wordCounter) > 200">
Max 200 words please!
</span>
Но до сих пор, когда я проверяю в мой контроллер contactform.$valid
всегда true
, как я могу сделать форму недействительной, если слово wordcounter фильтра больше 200?
спасибо, что работает! Еще один вопрос новичков, могу ли я поместить эту директиву где-нибудь на уровне приложения или rootController, а не на конкретный контроллер, чтобы я мог повторно использовать его в других частях приложения. –
Да, конечно. Вы должны определить эту директиву в основном модуле приложения и сможете использовать ее повсюду. Это не зависит от какого-либо конкретного контроллера. – dfsq
звучит как победа, спасибо –