<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog sobre desenvolvimento mobile e Web &#187; AngularJS</title>
	<atom:link href="https://blog.sw9.com.br/category/angularjs/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.sw9.com.br</link>
	<description>Blog com artigos e vídeos a respeito de assuntos voltados para desenvolvimento we e desenvolvimento mobile hibrido</description>
	<lastBuildDate>Fri, 12 Jul 2024 20:17:59 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>angular-translate &#124; Passo a Passo &#8211; (i18n)  Como internacionalizar um App AngularJS &#8211; Parte 3 de 3</title>
		<link>https://blog.sw9.com.br/2017/05/23/angular-translate-internacionalizando-webapp-com-angularjs-parte-3-3/</link>
		<comments>https://blog.sw9.com.br/2017/05/23/angular-translate-internacionalizando-webapp-com-angularjs-parte-3-3/#comments</comments>
		<pubDate>Tue, 23 May 2017 15:00:20 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[angular-translate]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[internacionalizando seu site]]></category>
		<category><![CDATA[Pascal Precht]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=460</guid>
		<description><![CDATA[Olá a todos. Sejam bem vindos aos Canal e Blog SW9

Um dos grandes desafios de quem pretende criar um site ou WebApp e promovê-lo em outros países é permitir que seu site ou WebApp seja traduzido para mais de um idioma.
Não apenas a tradução, mas alguns aspectos de localização também devem ser levados em conta, como por exemplo formato da data, moeda e formato dos números que são característicos de cada país.

Chegou a vez do terceiro e último vídeo da série que explica passo a passo como internacionalizar um app AngularJS.

Neste terceiro vídeo vou falar sobre cache, salvar o idioma padrão em memória, exibir a bandeira do idioma selecionado e como trabalhar com números, moeda e data.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/05/23/angular-translate-internacionalizando-webapp-com-angularjs-parte-3-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>angular-translate &#124; Passo a Passo &#8211; (i18n)  Como internacionalizar um App AngularJS &#8211; Parte 2 de 3</title>
		<link>https://blog.sw9.com.br/2017/05/11/angular-translate-internacionalizando-webapp-com-angularjs-parte-2/</link>
		<comments>https://blog.sw9.com.br/2017/05/11/angular-translate-internacionalizando-webapp-com-angularjs-parte-2/#comments</comments>
		<pubDate>Thu, 11 May 2017 15:00:14 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[angular-translate]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[internacionalizando seu site]]></category>
		<category><![CDATA[Pascal Precht]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=447</guid>
		<description><![CDATA[Olá a todos. Sejam bem vindos aos Canal e Blog SW9

Um dos grandes desafios de quem pretende criar um site ou WebApp e promovê-lo em outros países é permitir que seu site ou WebApp seja traduzido para mais de um idioma.
Não apenas a tradução, mas alguns aspectos de localização também devem ser levados em conta, como por exemplo formato da data, moeda e formato dos números que são característicos de cada país.

Neste segundo vídeo da série, vou abortar dois assuntos bem importantes.  No primeiro, vou explicar passo a passo como utilizar tabelas de tradução em arquivos do tipo json e com isso possibilitar o carregamento das tabelas de tradução de forma dinâmica.  

Ainda dentro deste assunto, vou mostrar como carregar apenas a tabela de tradução da página que está sendo renderizada no momento, assim, não teremos desperdício e ganharemos velocidade no carregamento da página (Lazy Loading).

Já, no segundo assunto que vou abordar, explico passo a passo como usar o recurso de pluralização e gênero.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/05/11/angular-translate-internacionalizando-webapp-com-angularjs-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>angular-translate &#124; Passo a Passo &#8211; (i18n)  Como internacionalizar um App AngularJS &#8211; Parte 1 de 3</title>
		<link>https://blog.sw9.com.br/2017/05/09/angular-translate-internacionalizando-webapp-com-angular-js/</link>
		<comments>https://blog.sw9.com.br/2017/05/09/angular-translate-internacionalizando-webapp-com-angular-js/#comments</comments>
		<pubDate>Tue, 09 May 2017 15:00:01 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[angular-translate]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[internacionalizando seu site]]></category>
		<category><![CDATA[Pascal Precht]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=443</guid>
		<description><![CDATA[Olá a todos. Sejam bem vindos aos Canal e Blog SW9

Hoje começo uma nova série de vídeos, 3 no total, agora para explicar passo a passo como internacionalizar um Web App ou site (i18n) usando o framework AngularJs em complemento com a diretiva angular-translate.

Um dos grandes desafios de quem pretende criar um site ou WebApp e promovê-lo em outros países é permitir que seu site ou WebApp seja traduzido para mais de um idioma.


Não apenas a tradução, mas alguns aspectos de localização também devem ser levados em conta, como por exemplo formato da data, moeda e formato dos números que são característicos de cada país.

Neste passo a passo, que vou iniciar hoje, pretendo mostrar uma solução completa para que você, desenvolvedor, possa usar como exemplo em seus projetos.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/05/09/angular-translate-internacionalizando-webapp-com-angular-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passo a Passo &#8211; Como validar formulários usando AngularJS com ngMessage &#8211; Parte 3 &#8211; Faixa Bonus</title>
		<link>https://blog.sw9.com.br/2017/04/25/ngmessage-como-validar-formularios-angular-faixa-bonus/</link>
		<comments>https://blog.sw9.com.br/2017/04/25/ngmessage-como-validar-formularios-angular-faixa-bonus/#comments</comments>
		<pubDate>Tue, 25 Apr 2017 15:00:09 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[angular 2 custom validator]]></category>
		<category><![CDATA[angular 2 email validation]]></category>
		<category><![CDATA[angular 2 email validator]]></category>
		<category><![CDATA[angular 2 form validation]]></category>
		<category><![CDATA[angular 2 validation]]></category>
		<category><![CDATA[angular 2 validation form]]></category>
		<category><![CDATA[angular clear form]]></category>
		<category><![CDATA[angular client side validation]]></category>
		<category><![CDATA[angular create form]]></category>
		<category><![CDATA[angular custom form validation]]></category>
		<category><![CDATA[angular custom validation]]></category>
		<category><![CDATA[angular custom validation directive]]></category>
		<category><![CDATA[angular dirty]]></category>
		<category><![CDATA[angular email]]></category>
		<category><![CDATA[angular email validation]]></category>
		<category><![CDATA[angular email validation directive]]></category>
		<category><![CDATA[angular email validation pattern]]></category>
		<category><![CDATA[angular error]]></category>
		<category><![CDATA[angular error form]]></category>
		<category><![CDATA[angular error maxlength]]></category>
		<category><![CDATA[angular error messages]]></category>
		<category><![CDATA[angular error required]]></category>
		<category><![CDATA[angular error validation]]></category>
		<category><![CDATA[angular form]]></category>
		<category><![CDATA[angular form control]]></category>
		<category><![CDATA[angular form custom validation]]></category>
		<category><![CDATA[angular form email validation]]></category>
		<category><![CDATA[angular form error]]></category>
		<category><![CDATA[angular form error message]]></category>
		<category><![CDATA[angular form events]]></category>
		<category><![CDATA[angular form isvalid]]></category>
		<category><![CDATA[angular form name]]></category>
		<category><![CDATA[angular form select validation]]></category>
		<category><![CDATA[angular form set error]]></category>
		<category><![CDATA[angular form submit]]></category>
		<category><![CDATA[angular form submit validation]]></category>
		<category><![CDATA[angular form valid]]></category>
		<category><![CDATA[angular form validation]]></category>
		<category><![CDATA[angular form validation email]]></category>
		<category><![CDATA[angular form validation error]]></category>
		<category><![CDATA[angular form validation example]]></category>
		<category><![CDATA[angular form validation messages]]></category>
		<category><![CDATA[angular form validation on submit]]></category>
		<category><![CDATA[angular form values]]></category>
		<category><![CDATA[angular input]]></category>
		<category><![CDATA[angular input box]]></category>
		<category><![CDATA[angular input custom validation]]></category>
		<category><![CDATA[angular input email]]></category>
		<category><![CDATA[angular input email validation]]></category>
		<category><![CDATA[angular input field]]></category>
		<category><![CDATA[angular input number]]></category>
		<category><![CDATA[angular input validation]]></category>
		<category><![CDATA[angular invalid]]></category>
		<category><![CDATA[angular material error message]]></category>
		<category><![CDATA[angular material form submit]]></category>
		<category><![CDATA[angular material form validation]]></category>
		<category><![CDATA[angular material validation]]></category>
		<category><![CDATA[angular message box]]></category>
		<category><![CDATA[angular messages]]></category>
		<category><![CDATA[angular messages bower]]></category>
		<category><![CDATA[angular messages cdn]]></category>
		<category><![CDATA[angular messages js]]></category>
		<category><![CDATA[angular min max validation]]></category>
		<category><![CDATA[angular ng error]]></category>
		<category><![CDATA[angular ng if]]></category>
		<category><![CDATA[angular ng pattern]]></category>
		<category><![CDATA[angular ng pattern example]]></category>
		<category><![CDATA[angular ng required]]></category>
		<category><![CDATA[angular ng required example]]></category>
		<category><![CDATA[angular ng valid]]></category>
		<category><![CDATA[angular ngmessage]]></category>
		<category><![CDATA[angular ngmessages]]></category>
		<category><![CDATA[angular numeric validation]]></category>
		<category><![CDATA[angular phone number validation]]></category>
		<category><![CDATA[angular remote validation]]></category>
		<category><![CDATA[angular required]]></category>
		<category><![CDATA[angular required validation]]></category>
		<category><![CDATA[angular set form valid]]></category>
		<category><![CDATA[angular set validity]]></category>
		<category><![CDATA[angular setvalidity]]></category>
		<category><![CDATA[angular submit button]]></category>
		<category><![CDATA[angular submit form]]></category>
		<category><![CDATA[angular success message]]></category>
		<category><![CDATA[angular ui forms]]></category>
		<category><![CDATA[angular ui validate]]></category>
		<category><![CDATA[angular valid email]]></category>
		<category><![CDATA[angular valid form]]></category>
		<category><![CDATA[angular validate email]]></category>
		<category><![CDATA[angular validate email address]]></category>
		<category><![CDATA[angular validate form]]></category>
		<category><![CDATA[angular validate number]]></category>
		<category><![CDATA[angular validate phone number]]></category>
		<category><![CDATA[angular validation]]></category>
		<category><![CDATA[angular validation directive]]></category>
		<category><![CDATA[angular validation example]]></category>
		<category><![CDATA[angular validation framework]]></category>
		<category><![CDATA[angular validation on submit]]></category>
		<category><![CDATA[angular2 email validation]]></category>
		<category><![CDATA[angular2 form validation]]></category>
		<category><![CDATA[angularjs 2 form validation]]></category>
		<category><![CDATA[angularjs and forms]]></category>
		<category><![CDATA[angularjs check form valid]]></category>
		<category><![CDATA[angularjs check valid email]]></category>
		<category><![CDATA[angularjs clear form errors]]></category>
		<category><![CDATA[angularjs client side validation]]></category>
		<category><![CDATA[angularjs create form]]></category>
		<category><![CDATA[angularjs custom error message]]></category>
		<category><![CDATA[angularjs custom form validation directive]]></category>
		<category><![CDATA[angularjs custom validation]]></category>
		<category><![CDATA[angularjs custom validation directive example]]></category>
		<category><![CDATA[angularjs custom validation on submit]]></category>
		<category><![CDATA[angularjs dirty]]></category>
		<category><![CDATA[angularjs display error message]]></category>
		<category><![CDATA[angularjs email]]></category>
		<category><![CDATA[angularjs email template]]></category>
		<category><![CDATA[angularjs email validation]]></category>
		<category><![CDATA[angularjs email validation directive]]></category>
		<category><![CDATA[angularjs email validation example]]></category>
		<category><![CDATA[angularjs email validation in controller]]></category>
		<category><![CDATA[angularjs email validation pattern]]></category>
		<category><![CDATA[angularjs error]]></category>
		<category><![CDATA[angularjs error message]]></category>
		<category><![CDATA[angularjs error message directive]]></category>
		<category><![CDATA[angularjs error message popup]]></category>
		<category><![CDATA[angularjs error minlength]]></category>
		<category><![CDATA[angularjs error object]]></category>
		<category><![CDATA[angularjs error required]]></category>
		<category><![CDATA[angularjs field validation]]></category>
		<category><![CDATA[angularjs form]]></category>
		<category><![CDATA[angularjs form control]]></category>
		<category><![CDATA[angularjs form controller]]></category>
		<category><![CDATA[angularjs form custom validation]]></category>
		<category><![CDATA[angularjs form directive]]></category>
		<category><![CDATA[angularjs form error message]]></category>
		<category><![CDATA[angularjs form errors]]></category>
		<category><![CDATA[angularjs form example]]></category>
		<category><![CDATA[angularjs form model]]></category>
		<category><![CDATA[angularjs form submit]]></category>
		<category><![CDATA[angularjs form submit example]]></category>
		<category><![CDATA[angularjs form validation]]></category>
		<category><![CDATA[angularjs form validation after submit]]></category>
		<category><![CDATA[angularjs form validation bootstrap]]></category>
		<category><![CDATA[angularjs form validation controller]]></category>
		<category><![CDATA[angularjs form validation directive]]></category>
		<category><![CDATA[angularjs form validation email]]></category>
		<category><![CDATA[angularjs form validation error]]></category>
		<category><![CDATA[angularjs form validation error message]]></category>
		<category><![CDATA[angularjs form validation example]]></category>
		<category><![CDATA[angularjs form validation in controller]]></category>
		<category><![CDATA[angularjs form validation ng pattern]]></category>
		<category><![CDATA[angularjs form validation on button click]]></category>
		<category><![CDATA[angularjs form validation on submit]]></category>
		<category><![CDATA[angularjs form validation on submit example]]></category>
		<category><![CDATA[angularjs form validation tutorial]]></category>
		<category><![CDATA[angularjs html5 form validation]]></category>
		<category><![CDATA[angularjs if]]></category>
		<category><![CDATA[angularjs input]]></category>
		<category><![CDATA[angularjs input box]]></category>
		<category><![CDATA[angularjs input email validation]]></category>
		<category><![CDATA[angularjs input field]]></category>
		<category><![CDATA[angularjs input field validation]]></category>
		<category><![CDATA[angularjs input form]]></category>
		<category><![CDATA[angularjs input number]]></category>
		<category><![CDATA[angularjs input required]]></category>
		<category><![CDATA[angularjs input type email validation]]></category>
		<category><![CDATA[angularjs input validation]]></category>
		<category><![CDATA[angularjs input validation example]]></category>
		<category><![CDATA[angularjs invalid]]></category>
		<category><![CDATA[angularjs login form example]]></category>
		<category><![CDATA[angularjs maxlength]]></category>
		<category><![CDATA[angularjs message]]></category>
		<category><![CDATA[angularjs message box]]></category>
		<category><![CDATA[angularjs minlength validation]]></category>
		<category><![CDATA[angularjs model validation]]></category>
		<category><![CDATA[angularjs name validation]]></category>
		<category><![CDATA[angularjs ng]]></category>
		<category><![CDATA[angularjs ng if example]]></category>
		<category><![CDATA[angularjs ng maxlength example]]></category>
		<category><![CDATA[angularjs ng pattern]]></category>
		<category><![CDATA[angularjs ng validate]]></category>
		<category><![CDATA[angularjs ngmessages]]></category>
		<category><![CDATA[angularjs number validation example]]></category>
		<category><![CDATA[angularjs password validation]]></category>
		<category><![CDATA[angularjs pattern validation]]></category>
		<category><![CDATA[angularjs pattern validation example]]></category>
		<category><![CDATA[angularjs phone number validation]]></category>
		<category><![CDATA[angularjs phone number validation example]]></category>
		<category><![CDATA[angularjs phone validation]]></category>
		<category><![CDATA[angularjs popup message]]></category>
		<category><![CDATA[angularjs registration form validation]]></category>
		<category><![CDATA[angularjs registration form with validation]]></category>
		<category><![CDATA[angularjs remote validation]]></category>
		<category><![CDATA[angularjs required]]></category>
		<category><![CDATA[angularjs required field]]></category>
		<category><![CDATA[angularjs required field example]]></category>
		<category><![CDATA[angularjs required field validation example]]></category>
		<category><![CDATA[angularjs select required validation]]></category>
		<category><![CDATA[angularjs server side validation]]></category>
		<category><![CDATA[angularjs server validation]]></category>
		<category><![CDATA[angularjs set form valid]]></category>
		<category><![CDATA[angularjs setvalidity]]></category>
		<category><![CDATA[angularjs show error message]]></category>
		<category><![CDATA[angularjs signup form validation]]></category>
		<category><![CDATA[angularjs simple form]]></category>
		<category><![CDATA[angularjs submit]]></category>
		<category><![CDATA[angularjs submit form]]></category>
		<category><![CDATA[angularjs textbox validation example]]></category>
		<category><![CDATA[angularjs touch example]]></category>
		<category><![CDATA[angularjs ui validate]]></category>
		<category><![CDATA[angularjs ui validate example]]></category>
		<category><![CDATA[angularjs valid]]></category>
		<category><![CDATA[angularjs validate email]]></category>
		<category><![CDATA[angularjs validate email address]]></category>
		<category><![CDATA[angularjs validate form]]></category>
		<category><![CDATA[angularjs validate form on submit]]></category>
		<category><![CDATA[angularjs validate phone number]]></category>
		<category><![CDATA[angularjs validation]]></category>
		<category><![CDATA[angularjs validation directives]]></category>
		<category><![CDATA[angularjs validation email]]></category>
		<category><![CDATA[angularjs validation error]]></category>
		<category><![CDATA[angularjs validation error message]]></category>
		<category><![CDATA[angularjs validation example]]></category>
		<category><![CDATA[angularjs validation form]]></category>
		<category><![CDATA[angularjs validation number]]></category>
		<category><![CDATA[angularjs validation on button click]]></category>
		<category><![CDATA[angularjs validation on submit]]></category>
		<category><![CDATA[angularjs validation on submit example]]></category>
		<category><![CDATA[angularjs validation phone number]]></category>
		<category><![CDATA[angularjs validation required]]></category>
		<category><![CDATA[angularjs validation tutorial]]></category>
		<category><![CDATA[bootstrap form error]]></category>
		<category><![CDATA[bootstrap input error]]></category>
		<category><![CDATA[bootstrap required field]]></category>
		<category><![CDATA[bootstrap validation example]]></category>
		<category><![CDATA[create a form in angularjs]]></category>
		<category><![CDATA[create form in angularjs]]></category>
		<category><![CDATA[create form using angularjs]]></category>
		<category><![CDATA[directive form validation]]></category>
		<category><![CDATA[dirty in angularjs]]></category>
		<category><![CDATA[display error message in angularjs]]></category>
		<category><![CDATA[email angularjs]]></category>
		<category><![CDATA[email validation angular]]></category>
		<category><![CDATA[email validation angularjs]]></category>
		<category><![CDATA[email validation in angular]]></category>
		<category><![CDATA[email validation in angularjs]]></category>
		<category><![CDATA[email validation in angularjs controller]]></category>
		<category><![CDATA[email validation using angularjs]]></category>
		<category><![CDATA[error angular]]></category>
		<category><![CDATA[error angularjs]]></category>
		<category><![CDATA[error in angularjs]]></category>
		<category><![CDATA[error message in angularjs]]></category>
		<category><![CDATA[error required angularjs]]></category>
		<category><![CDATA[file validation in angularjs]]></category>
		<category><![CDATA[form angular]]></category>
		<category><![CDATA[form angularjs]]></category>
		<category><![CDATA[form control angular]]></category>
		<category><![CDATA[form error angular]]></category>
		<category><![CDATA[form in angularjs]]></category>
		<category><![CDATA[form message]]></category>
		<category><![CDATA[form ng]]></category>
		<category><![CDATA[form novalidate angularjs]]></category>
		<category><![CDATA[form submit angularjs]]></category>
		<category><![CDATA[form submit in angularjs]]></category>
		<category><![CDATA[form submit in angularjs example]]></category>
		<category><![CDATA[form touched angular]]></category>
		<category><![CDATA[form valid angularjs]]></category>
		<category><![CDATA[form validation angular]]></category>
		<category><![CDATA[form validation angularjs]]></category>
		<category><![CDATA[form validation angularjs example]]></category>
		<category><![CDATA[form validation error]]></category>
		<category><![CDATA[form validation error messages]]></category>
		<category><![CDATA[form validation example in angularjs]]></category>
		<category><![CDATA[form validation in angularjs]]></category>
		<category><![CDATA[form validation in angularjs example]]></category>
		<category><![CDATA[form validation in angularjs on submit]]></category>
		<category><![CDATA[form validation in javascript with error messages examples]]></category>
		<category><![CDATA[form validation messages]]></category>
		<category><![CDATA[form validation messages example]]></category>
		<category><![CDATA[form validation on submit in angularjs]]></category>
		<category><![CDATA[form validation using angularjs]]></category>
		<category><![CDATA[form validation using angularjs example]]></category>
		<category><![CDATA[forms in angular]]></category>
		<category><![CDATA[forms with angular]]></category>
		<category><![CDATA[forms with angularjs]]></category>
		<category><![CDATA[html form minlength]]></category>
		<category><![CDATA[input angularjs]]></category>
		<category><![CDATA[input field validation in angularjs]]></category>
		<category><![CDATA[input validation in angularjs]]></category>
		<category><![CDATA[ionic form validation]]></category>
		<category><![CDATA[isvalid angularjs]]></category>
		<category><![CDATA[max length in angularjs]]></category>
		<category><![CDATA[minlength html]]></category>
		<category><![CDATA[minlength in angularjs]]></category>
		<category><![CDATA[mobile number validation in angularjs example]]></category>
		<category><![CDATA[name validation in angularjs]]></category>
		<category><![CDATA[ng disabled form]]></category>
		<category><![CDATA[ng email validation]]></category>
		<category><![CDATA[ng error]]></category>
		<category><![CDATA[ng form]]></category>
		<category><![CDATA[ng form angularjs]]></category>
		<category><![CDATA[ng form example]]></category>
		<category><![CDATA[ng form validation]]></category>
		<category><![CDATA[ng if angularjs example]]></category>
		<category><![CDATA[ng if in angularjs]]></category>
		<category><![CDATA[ng if in angularjs example]]></category>
		<category><![CDATA[ng invalid]]></category>
		<category><![CDATA[ng match angularjs]]></category>
		<category><![CDATA[ng message in angularjs]]></category>
		<category><![CDATA[ng messages custom validation]]></category>
		<category><![CDATA[ng messages email validation]]></category>
		<category><![CDATA[ng messages example]]></category>
		<category><![CDATA[ng messages ng if example]]></category>
		<category><![CDATA[ng minlength]]></category>
		<category><![CDATA[ng pattern]]></category>
		<category><![CDATA[ng pattern example]]></category>
		<category><![CDATA[ng pattern for email]]></category>
		<category><![CDATA[ng pattern for phone number]]></category>
		<category><![CDATA[ng pattern validation in angularjs]]></category>
		<category><![CDATA[ng required angularjs]]></category>
		<category><![CDATA[ng required example]]></category>
		<category><![CDATA[ng required in angularjs]]></category>
		<category><![CDATA[ng valid]]></category>
		<category><![CDATA[ng valid email]]></category>
		<category><![CDATA[ng validation]]></category>
		<category><![CDATA[ngmessages cdn]]></category>
		<category><![CDATA[novalidate angular]]></category>
		<category><![CDATA[novalidate angularjs]]></category>
		<category><![CDATA[novalidate in angularjs]]></category>
		<category><![CDATA[number validation in angularjs]]></category>
		<category><![CDATA[number validation in angularjs example]]></category>
		<category><![CDATA[phone number validation in angularjs]]></category>
		<category><![CDATA[phone number validation in angularjs example]]></category>
		<category><![CDATA[registration form validation in angularjs]]></category>
		<category><![CDATA[require angular]]></category>
		<category><![CDATA[required angularjs]]></category>
		<category><![CDATA[required field angularjs]]></category>
		<category><![CDATA[required field validation in angularjs]]></category>
		<category><![CDATA[required field validator in angularjs]]></category>
		<category><![CDATA[required in angularjs]]></category>
		<category><![CDATA[scope form valid]]></category>
		<category><![CDATA[select box validation in angularjs]]></category>
		<category><![CDATA[select required angularjs]]></category>
		<category><![CDATA[select validation in angularjs]]></category>
		<category><![CDATA[setvalidity angularjs]]></category>
		<category><![CDATA[show error message in angularjs]]></category>
		<category><![CDATA[show success message in angularjs]]></category>
		<category><![CDATA[show validation message in angularjs]]></category>
		<category><![CDATA[simple form in angularjs]]></category>
		<category><![CDATA[submit form in angularjs]]></category>
		<category><![CDATA[submit form using angularjs]]></category>
		<category><![CDATA[submitted angularjs]]></category>
		<category><![CDATA[success message in angularjs]]></category>
		<category><![CDATA[ui validate angular]]></category>
		<category><![CDATA[ui validation in angularjs]]></category>
		<category><![CDATA[valid angularjs]]></category>
		<category><![CDATA[valid form angularjs]]></category>
		<category><![CDATA[validate angularjs form]]></category>
		<category><![CDATA[validate email angular]]></category>
		<category><![CDATA[validate email angularjs]]></category>
		<category><![CDATA[validate email in angularjs]]></category>
		<category><![CDATA[validate form angularjs]]></category>
		<category><![CDATA[validate form in angularjs]]></category>
		<category><![CDATA[validate form using angularjs]]></category>
		<category><![CDATA[validate phone number angularjs]]></category>
		<category><![CDATA[validation angularjs]]></category>
		<category><![CDATA[validation angularjs example]]></category>
		<category><![CDATA[validation directive angularjs]]></category>
		<category><![CDATA[validation error message examples]]></category>
		<category><![CDATA[validation for email in angularjs]]></category>
		<category><![CDATA[validation in angularjs]]></category>
		<category><![CDATA[validation in angularjs example]]></category>
		<category><![CDATA[validation message]]></category>
		<category><![CDATA[validation on submit button in angularjs]]></category>
		<category><![CDATA[validation using angularjs]]></category>
		<category><![CDATA[validation with angularjs]]></category>
		<category><![CDATA[validators angular]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=435</guid>
		<description><![CDATA[Olá a todos. Sejam bem vindos aos Canal e Blog SW9

Agora é a vez do terceiro e último vídeo que vou chamar de faixa Bônus. Nesta faixa bônus vou tratar de 3 assuntos.  Primeiro vou explicar passo a passo como exibir a mensagem de erro apenas após o usuário clicar no botão Submit, em seguida vou explicar passo a passo como exibir a mensagem de erro apenas após deixar o foco de cada campo e por último vou explicar como implementar um novo tipo de validação, uma das facilidades para quem trabalha com ngMessage.

Espero que gostem deste último vídeo. Aproveito para pedir a participação de vocês no canal e blog, curtindo, compartilhando, dando sua opinião e se inscrevendo no canal e blog para receber as novidades em primeira mão.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/04/25/ngmessage-como-validar-formularios-angular-faixa-bonus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passo a Passo &#8211; Como validar formulários usando AngularJS com ngMessage &#8211; Parte 2</title>
		<link>https://blog.sw9.com.br/2017/04/13/ng-message-como-validar-formularios-angular-parte-2/</link>
		<comments>https://blog.sw9.com.br/2017/04/13/ng-message-como-validar-formularios-angular-parte-2/#comments</comments>
		<pubDate>Thu, 13 Apr 2017 15:00:38 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[angular 2 custom validator]]></category>
		<category><![CDATA[angular 2 email validation]]></category>
		<category><![CDATA[angular 2 email validator]]></category>
		<category><![CDATA[angular 2 form validation]]></category>
		<category><![CDATA[angular 2 validation]]></category>
		<category><![CDATA[angular 2 validation form]]></category>
		<category><![CDATA[angular clear form]]></category>
		<category><![CDATA[angular client side validation]]></category>
		<category><![CDATA[angular create form]]></category>
		<category><![CDATA[angular custom form validation]]></category>
		<category><![CDATA[angular custom validation]]></category>
		<category><![CDATA[angular custom validation directive]]></category>
		<category><![CDATA[angular dirty]]></category>
		<category><![CDATA[angular email]]></category>
		<category><![CDATA[angular email validation]]></category>
		<category><![CDATA[angular email validation directive]]></category>
		<category><![CDATA[angular email validation pattern]]></category>
		<category><![CDATA[angular error]]></category>
		<category><![CDATA[angular error form]]></category>
		<category><![CDATA[angular error maxlength]]></category>
		<category><![CDATA[angular error messages]]></category>
		<category><![CDATA[angular error required]]></category>
		<category><![CDATA[angular error validation]]></category>
		<category><![CDATA[angular form]]></category>
		<category><![CDATA[angular form control]]></category>
		<category><![CDATA[angular form custom validation]]></category>
		<category><![CDATA[angular form email validation]]></category>
		<category><![CDATA[angular form error]]></category>
		<category><![CDATA[angular form error message]]></category>
		<category><![CDATA[angular form events]]></category>
		<category><![CDATA[angular form isvalid]]></category>
		<category><![CDATA[angular form name]]></category>
		<category><![CDATA[angular form select validation]]></category>
		<category><![CDATA[angular form set error]]></category>
		<category><![CDATA[angular form submit]]></category>
		<category><![CDATA[angular form submit validation]]></category>
		<category><![CDATA[angular form valid]]></category>
		<category><![CDATA[angular form validation]]></category>
		<category><![CDATA[angular form validation email]]></category>
		<category><![CDATA[angular form validation error]]></category>
		<category><![CDATA[angular form validation example]]></category>
		<category><![CDATA[angular form validation messages]]></category>
		<category><![CDATA[angular form validation on submit]]></category>
		<category><![CDATA[angular form values]]></category>
		<category><![CDATA[angular input]]></category>
		<category><![CDATA[angular input box]]></category>
		<category><![CDATA[angular input custom validation]]></category>
		<category><![CDATA[angular input email]]></category>
		<category><![CDATA[angular input email validation]]></category>
		<category><![CDATA[angular input field]]></category>
		<category><![CDATA[angular input number]]></category>
		<category><![CDATA[angular input validation]]></category>
		<category><![CDATA[angular invalid]]></category>
		<category><![CDATA[angular material error message]]></category>
		<category><![CDATA[angular material form submit]]></category>
		<category><![CDATA[angular material form validation]]></category>
		<category><![CDATA[angular material validation]]></category>
		<category><![CDATA[angular message box]]></category>
		<category><![CDATA[angular messages]]></category>
		<category><![CDATA[angular messages bower]]></category>
		<category><![CDATA[angular messages cdn]]></category>
		<category><![CDATA[angular messages js]]></category>
		<category><![CDATA[angular min max validation]]></category>
		<category><![CDATA[angular ng error]]></category>
		<category><![CDATA[angular ng if]]></category>
		<category><![CDATA[angular ng pattern]]></category>
		<category><![CDATA[angular ng pattern example]]></category>
		<category><![CDATA[angular ng required]]></category>
		<category><![CDATA[angular ng required example]]></category>
		<category><![CDATA[angular ng valid]]></category>
		<category><![CDATA[angular ngmessage]]></category>
		<category><![CDATA[angular ngmessages]]></category>
		<category><![CDATA[angular numeric validation]]></category>
		<category><![CDATA[angular phone number validation]]></category>
		<category><![CDATA[angular remote validation]]></category>
		<category><![CDATA[angular required]]></category>
		<category><![CDATA[angular required validation]]></category>
		<category><![CDATA[angular set form valid]]></category>
		<category><![CDATA[angular set validity]]></category>
		<category><![CDATA[angular setvalidity]]></category>
		<category><![CDATA[angular submit button]]></category>
		<category><![CDATA[angular submit form]]></category>
		<category><![CDATA[angular success message]]></category>
		<category><![CDATA[angular ui forms]]></category>
		<category><![CDATA[angular ui validate]]></category>
		<category><![CDATA[angular valid email]]></category>
		<category><![CDATA[angular valid form]]></category>
		<category><![CDATA[angular validate email]]></category>
		<category><![CDATA[angular validate email address]]></category>
		<category><![CDATA[angular validate form]]></category>
		<category><![CDATA[angular validate number]]></category>
		<category><![CDATA[angular validate phone number]]></category>
		<category><![CDATA[angular validation]]></category>
		<category><![CDATA[angular validation directive]]></category>
		<category><![CDATA[angular validation example]]></category>
		<category><![CDATA[angular validation framework]]></category>
		<category><![CDATA[angular validation on submit]]></category>
		<category><![CDATA[angular2 email validation]]></category>
		<category><![CDATA[angular2 form validation]]></category>
		<category><![CDATA[angularjs 2 form validation]]></category>
		<category><![CDATA[angularjs and forms]]></category>
		<category><![CDATA[angularjs check form valid]]></category>
		<category><![CDATA[angularjs check valid email]]></category>
		<category><![CDATA[angularjs clear form errors]]></category>
		<category><![CDATA[angularjs client side validation]]></category>
		<category><![CDATA[angularjs create form]]></category>
		<category><![CDATA[angularjs custom error message]]></category>
		<category><![CDATA[angularjs custom form validation directive]]></category>
		<category><![CDATA[angularjs custom validation]]></category>
		<category><![CDATA[angularjs custom validation directive example]]></category>
		<category><![CDATA[angularjs custom validation on submit]]></category>
		<category><![CDATA[angularjs dirty]]></category>
		<category><![CDATA[angularjs display error message]]></category>
		<category><![CDATA[angularjs email]]></category>
		<category><![CDATA[angularjs email template]]></category>
		<category><![CDATA[angularjs email validation]]></category>
		<category><![CDATA[angularjs email validation directive]]></category>
		<category><![CDATA[angularjs email validation example]]></category>
		<category><![CDATA[angularjs email validation in controller]]></category>
		<category><![CDATA[angularjs email validation pattern]]></category>
		<category><![CDATA[angularjs error]]></category>
		<category><![CDATA[angularjs error message]]></category>
		<category><![CDATA[angularjs error message directive]]></category>
		<category><![CDATA[angularjs error message popup]]></category>
		<category><![CDATA[angularjs error minlength]]></category>
		<category><![CDATA[angularjs error object]]></category>
		<category><![CDATA[angularjs error required]]></category>
		<category><![CDATA[angularjs field validation]]></category>
		<category><![CDATA[angularjs form]]></category>
		<category><![CDATA[angularjs form control]]></category>
		<category><![CDATA[angularjs form controller]]></category>
		<category><![CDATA[angularjs form custom validation]]></category>
		<category><![CDATA[angularjs form directive]]></category>
		<category><![CDATA[angularjs form error message]]></category>
		<category><![CDATA[angularjs form errors]]></category>
		<category><![CDATA[angularjs form example]]></category>
		<category><![CDATA[angularjs form model]]></category>
		<category><![CDATA[angularjs form submit]]></category>
		<category><![CDATA[angularjs form submit example]]></category>
		<category><![CDATA[angularjs form validation]]></category>
		<category><![CDATA[angularjs form validation after submit]]></category>
		<category><![CDATA[angularjs form validation bootstrap]]></category>
		<category><![CDATA[angularjs form validation controller]]></category>
		<category><![CDATA[angularjs form validation directive]]></category>
		<category><![CDATA[angularjs form validation email]]></category>
		<category><![CDATA[angularjs form validation error]]></category>
		<category><![CDATA[angularjs form validation error message]]></category>
		<category><![CDATA[angularjs form validation example]]></category>
		<category><![CDATA[angularjs form validation in controller]]></category>
		<category><![CDATA[angularjs form validation ng pattern]]></category>
		<category><![CDATA[angularjs form validation on button click]]></category>
		<category><![CDATA[angularjs form validation on submit]]></category>
		<category><![CDATA[angularjs form validation on submit example]]></category>
		<category><![CDATA[angularjs form validation tutorial]]></category>
		<category><![CDATA[angularjs html5 form validation]]></category>
		<category><![CDATA[angularjs if]]></category>
		<category><![CDATA[angularjs input]]></category>
		<category><![CDATA[angularjs input box]]></category>
		<category><![CDATA[angularjs input email validation]]></category>
		<category><![CDATA[angularjs input field]]></category>
		<category><![CDATA[angularjs input field validation]]></category>
		<category><![CDATA[angularjs input form]]></category>
		<category><![CDATA[angularjs input number]]></category>
		<category><![CDATA[angularjs input required]]></category>
		<category><![CDATA[angularjs input type email validation]]></category>
		<category><![CDATA[angularjs input validation]]></category>
		<category><![CDATA[angularjs input validation example]]></category>
		<category><![CDATA[angularjs invalid]]></category>
		<category><![CDATA[angularjs login form example]]></category>
		<category><![CDATA[angularjs maxlength]]></category>
		<category><![CDATA[angularjs message]]></category>
		<category><![CDATA[angularjs message box]]></category>
		<category><![CDATA[angularjs minlength validation]]></category>
		<category><![CDATA[angularjs model validation]]></category>
		<category><![CDATA[angularjs name validation]]></category>
		<category><![CDATA[angularjs ng]]></category>
		<category><![CDATA[angularjs ng if example]]></category>
		<category><![CDATA[angularjs ng maxlength example]]></category>
		<category><![CDATA[angularjs ng pattern]]></category>
		<category><![CDATA[angularjs ng validate]]></category>
		<category><![CDATA[angularjs ngmessages]]></category>
		<category><![CDATA[angularjs number validation example]]></category>
		<category><![CDATA[angularjs password validation]]></category>
		<category><![CDATA[angularjs pattern validation]]></category>
		<category><![CDATA[angularjs pattern validation example]]></category>
		<category><![CDATA[angularjs phone number validation]]></category>
		<category><![CDATA[angularjs phone number validation example]]></category>
		<category><![CDATA[angularjs phone validation]]></category>
		<category><![CDATA[angularjs popup message]]></category>
		<category><![CDATA[angularjs registration form validation]]></category>
		<category><![CDATA[angularjs registration form with validation]]></category>
		<category><![CDATA[angularjs remote validation]]></category>
		<category><![CDATA[angularjs required]]></category>
		<category><![CDATA[angularjs required field]]></category>
		<category><![CDATA[angularjs required field example]]></category>
		<category><![CDATA[angularjs required field validation example]]></category>
		<category><![CDATA[angularjs select required validation]]></category>
		<category><![CDATA[angularjs server side validation]]></category>
		<category><![CDATA[angularjs server validation]]></category>
		<category><![CDATA[angularjs set form valid]]></category>
		<category><![CDATA[angularjs setvalidity]]></category>
		<category><![CDATA[angularjs show error message]]></category>
		<category><![CDATA[angularjs signup form validation]]></category>
		<category><![CDATA[angularjs simple form]]></category>
		<category><![CDATA[angularjs submit]]></category>
		<category><![CDATA[angularjs submit form]]></category>
		<category><![CDATA[angularjs textbox validation example]]></category>
		<category><![CDATA[angularjs touch example]]></category>
		<category><![CDATA[angularjs ui validate]]></category>
		<category><![CDATA[angularjs ui validate example]]></category>
		<category><![CDATA[angularjs valid]]></category>
		<category><![CDATA[angularjs validate email]]></category>
		<category><![CDATA[angularjs validate email address]]></category>
		<category><![CDATA[angularjs validate form]]></category>
		<category><![CDATA[angularjs validate form on submit]]></category>
		<category><![CDATA[angularjs validate phone number]]></category>
		<category><![CDATA[angularjs validation]]></category>
		<category><![CDATA[angularjs validation directives]]></category>
		<category><![CDATA[angularjs validation email]]></category>
		<category><![CDATA[angularjs validation error]]></category>
		<category><![CDATA[angularjs validation error message]]></category>
		<category><![CDATA[angularjs validation example]]></category>
		<category><![CDATA[angularjs validation form]]></category>
		<category><![CDATA[angularjs validation number]]></category>
		<category><![CDATA[angularjs validation on button click]]></category>
		<category><![CDATA[angularjs validation on submit]]></category>
		<category><![CDATA[angularjs validation on submit example]]></category>
		<category><![CDATA[angularjs validation phone number]]></category>
		<category><![CDATA[angularjs validation required]]></category>
		<category><![CDATA[angularjs validation tutorial]]></category>
		<category><![CDATA[bootstrap form error]]></category>
		<category><![CDATA[bootstrap input error]]></category>
		<category><![CDATA[bootstrap required field]]></category>
		<category><![CDATA[bootstrap validation example]]></category>
		<category><![CDATA[create a form in angularjs]]></category>
		<category><![CDATA[create form in angularjs]]></category>
		<category><![CDATA[create form using angularjs]]></category>
		<category><![CDATA[directive form validation]]></category>
		<category><![CDATA[dirty in angularjs]]></category>
		<category><![CDATA[display error message in angularjs]]></category>
		<category><![CDATA[email angularjs]]></category>
		<category><![CDATA[email validation angular]]></category>
		<category><![CDATA[email validation angularjs]]></category>
		<category><![CDATA[email validation in angular]]></category>
		<category><![CDATA[email validation in angularjs]]></category>
		<category><![CDATA[email validation in angularjs controller]]></category>
		<category><![CDATA[email validation using angularjs]]></category>
		<category><![CDATA[error angular]]></category>
		<category><![CDATA[error angularjs]]></category>
		<category><![CDATA[error in angularjs]]></category>
		<category><![CDATA[error message in angularjs]]></category>
		<category><![CDATA[error required angularjs]]></category>
		<category><![CDATA[file validation in angularjs]]></category>
		<category><![CDATA[form angular]]></category>
		<category><![CDATA[form angularjs]]></category>
		<category><![CDATA[form control angular]]></category>
		<category><![CDATA[form error angular]]></category>
		<category><![CDATA[form in angularjs]]></category>
		<category><![CDATA[form message]]></category>
		<category><![CDATA[form ng]]></category>
		<category><![CDATA[form novalidate angularjs]]></category>
		<category><![CDATA[form submit angularjs]]></category>
		<category><![CDATA[form submit in angularjs]]></category>
		<category><![CDATA[form submit in angularjs example]]></category>
		<category><![CDATA[form touched angular]]></category>
		<category><![CDATA[form valid angularjs]]></category>
		<category><![CDATA[form validation angular]]></category>
		<category><![CDATA[form validation angularjs]]></category>
		<category><![CDATA[form validation angularjs example]]></category>
		<category><![CDATA[form validation error]]></category>
		<category><![CDATA[form validation error messages]]></category>
		<category><![CDATA[form validation example in angularjs]]></category>
		<category><![CDATA[form validation in angularjs]]></category>
		<category><![CDATA[form validation in angularjs example]]></category>
		<category><![CDATA[form validation in angularjs on submit]]></category>
		<category><![CDATA[form validation in javascript with error messages examples]]></category>
		<category><![CDATA[form validation messages]]></category>
		<category><![CDATA[form validation messages example]]></category>
		<category><![CDATA[form validation on submit in angularjs]]></category>
		<category><![CDATA[form validation using angularjs]]></category>
		<category><![CDATA[form validation using angularjs example]]></category>
		<category><![CDATA[forms in angular]]></category>
		<category><![CDATA[forms with angular]]></category>
		<category><![CDATA[forms with angularjs]]></category>
		<category><![CDATA[html form minlength]]></category>
		<category><![CDATA[input angularjs]]></category>
		<category><![CDATA[input field validation in angularjs]]></category>
		<category><![CDATA[input validation in angularjs]]></category>
		<category><![CDATA[ionic form validation]]></category>
		<category><![CDATA[isvalid angularjs]]></category>
		<category><![CDATA[max length in angularjs]]></category>
		<category><![CDATA[minlength html]]></category>
		<category><![CDATA[minlength in angularjs]]></category>
		<category><![CDATA[mobile number validation in angularjs example]]></category>
		<category><![CDATA[name validation in angularjs]]></category>
		<category><![CDATA[ng disabled form]]></category>
		<category><![CDATA[ng email validation]]></category>
		<category><![CDATA[ng error]]></category>
		<category><![CDATA[ng form]]></category>
		<category><![CDATA[ng form angularjs]]></category>
		<category><![CDATA[ng form example]]></category>
		<category><![CDATA[ng form validation]]></category>
		<category><![CDATA[ng if angularjs example]]></category>
		<category><![CDATA[ng if in angularjs]]></category>
		<category><![CDATA[ng if in angularjs example]]></category>
		<category><![CDATA[ng invalid]]></category>
		<category><![CDATA[ng match angularjs]]></category>
		<category><![CDATA[ng message in angularjs]]></category>
		<category><![CDATA[ng messages custom validation]]></category>
		<category><![CDATA[ng messages email validation]]></category>
		<category><![CDATA[ng messages example]]></category>
		<category><![CDATA[ng messages ng if example]]></category>
		<category><![CDATA[ng minlength]]></category>
		<category><![CDATA[ng pattern]]></category>
		<category><![CDATA[ng pattern example]]></category>
		<category><![CDATA[ng pattern for email]]></category>
		<category><![CDATA[ng pattern for phone number]]></category>
		<category><![CDATA[ng pattern validation in angularjs]]></category>
		<category><![CDATA[ng required angularjs]]></category>
		<category><![CDATA[ng required example]]></category>
		<category><![CDATA[ng required in angularjs]]></category>
		<category><![CDATA[ng valid]]></category>
		<category><![CDATA[ng valid email]]></category>
		<category><![CDATA[ng validation]]></category>
		<category><![CDATA[ngmessages cdn]]></category>
		<category><![CDATA[novalidate angular]]></category>
		<category><![CDATA[novalidate angularjs]]></category>
		<category><![CDATA[novalidate in angularjs]]></category>
		<category><![CDATA[number validation in angularjs]]></category>
		<category><![CDATA[number validation in angularjs example]]></category>
		<category><![CDATA[phone number validation in angularjs]]></category>
		<category><![CDATA[phone number validation in angularjs example]]></category>
		<category><![CDATA[registration form validation in angularjs]]></category>
		<category><![CDATA[require angular]]></category>
		<category><![CDATA[required angularjs]]></category>
		<category><![CDATA[required field angularjs]]></category>
		<category><![CDATA[required field validation in angularjs]]></category>
		<category><![CDATA[required field validator in angularjs]]></category>
		<category><![CDATA[required in angularjs]]></category>
		<category><![CDATA[scope form valid]]></category>
		<category><![CDATA[select box validation in angularjs]]></category>
		<category><![CDATA[select required angularjs]]></category>
		<category><![CDATA[select validation in angularjs]]></category>
		<category><![CDATA[setvalidity angularjs]]></category>
		<category><![CDATA[show error message in angularjs]]></category>
		<category><![CDATA[show success message in angularjs]]></category>
		<category><![CDATA[show validation message in angularjs]]></category>
		<category><![CDATA[simple form in angularjs]]></category>
		<category><![CDATA[submit form in angularjs]]></category>
		<category><![CDATA[submit form using angularjs]]></category>
		<category><![CDATA[submitted angularjs]]></category>
		<category><![CDATA[success message in angularjs]]></category>
		<category><![CDATA[ui validate angular]]></category>
		<category><![CDATA[ui validation in angularjs]]></category>
		<category><![CDATA[valid angularjs]]></category>
		<category><![CDATA[valid form angularjs]]></category>
		<category><![CDATA[validate angularjs form]]></category>
		<category><![CDATA[validate email angular]]></category>
		<category><![CDATA[validate email angularjs]]></category>
		<category><![CDATA[validate email in angularjs]]></category>
		<category><![CDATA[validate form angularjs]]></category>
		<category><![CDATA[validate form in angularjs]]></category>
		<category><![CDATA[validate form using angularjs]]></category>
		<category><![CDATA[validate phone number angularjs]]></category>
		<category><![CDATA[validation angularjs]]></category>
		<category><![CDATA[validation angularjs example]]></category>
		<category><![CDATA[validation directive angularjs]]></category>
		<category><![CDATA[validation error message examples]]></category>
		<category><![CDATA[validation for email in angularjs]]></category>
		<category><![CDATA[validation in angularjs]]></category>
		<category><![CDATA[validation in angularjs example]]></category>
		<category><![CDATA[validation message]]></category>
		<category><![CDATA[validation on submit button in angularjs]]></category>
		<category><![CDATA[validation using angularjs]]></category>
		<category><![CDATA[validation with angularjs]]></category>
		<category><![CDATA[validators angular]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=420</guid>
		<description><![CDATA[Olá a todos. Sejam bem vindos aos Canal e Blog SW9

Neste segundo vídeo da série, vou focar no controlador que vai receber a requisição do formulário, verificar se o formulário é válido ou não e enviar os dados para serem salvos na API Fake Json-Server.

Como complemento vou mostrar como construir a funcionalidade de loading que aparece no botão de submit do formulário até que o processamento seja finalizado.

Espero que gostem deste segundo vídeo. Aproveito para pedir a participação de vocês no canal e blog, curtindo, compartilhando, dando sua opinião e se inscrevendo no canal e blog para receber as novidades em primeira mão.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/04/13/ng-message-como-validar-formularios-angular-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passo a Passo &#8211; Como validar formulários usando AngularJS com ngMessage &#8211; Parte 1</title>
		<link>https://blog.sw9.com.br/2017/04/11/ng-message-como-validar-formularios-angular-e-ngmessage/</link>
		<comments>https://blog.sw9.com.br/2017/04/11/ng-message-como-validar-formularios-angular-e-ngmessage/#comments</comments>
		<pubDate>Tue, 11 Apr 2017 15:00:08 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[angular 2 custom validator]]></category>
		<category><![CDATA[angular 2 email validation]]></category>
		<category><![CDATA[angular 2 email validator]]></category>
		<category><![CDATA[angular 2 form validation]]></category>
		<category><![CDATA[angular 2 validation]]></category>
		<category><![CDATA[angular 2 validation form]]></category>
		<category><![CDATA[angular clear form]]></category>
		<category><![CDATA[angular client side validation]]></category>
		<category><![CDATA[angular create form]]></category>
		<category><![CDATA[angular custom form validation]]></category>
		<category><![CDATA[angular custom validation]]></category>
		<category><![CDATA[angular custom validation directive]]></category>
		<category><![CDATA[angular dirty]]></category>
		<category><![CDATA[angular email]]></category>
		<category><![CDATA[angular email validation]]></category>
		<category><![CDATA[angular email validation directive]]></category>
		<category><![CDATA[angular email validation pattern]]></category>
		<category><![CDATA[angular error]]></category>
		<category><![CDATA[angular error form]]></category>
		<category><![CDATA[angular error maxlength]]></category>
		<category><![CDATA[angular error messages]]></category>
		<category><![CDATA[angular error required]]></category>
		<category><![CDATA[angular error validation]]></category>
		<category><![CDATA[angular form]]></category>
		<category><![CDATA[angular form control]]></category>
		<category><![CDATA[angular form custom validation]]></category>
		<category><![CDATA[angular form email validation]]></category>
		<category><![CDATA[angular form error]]></category>
		<category><![CDATA[angular form error message]]></category>
		<category><![CDATA[angular form events]]></category>
		<category><![CDATA[angular form isvalid]]></category>
		<category><![CDATA[angular form name]]></category>
		<category><![CDATA[angular form select validation]]></category>
		<category><![CDATA[angular form set error]]></category>
		<category><![CDATA[angular form submit]]></category>
		<category><![CDATA[angular form submit validation]]></category>
		<category><![CDATA[angular form valid]]></category>
		<category><![CDATA[angular form validation]]></category>
		<category><![CDATA[angular form validation email]]></category>
		<category><![CDATA[angular form validation error]]></category>
		<category><![CDATA[angular form validation example]]></category>
		<category><![CDATA[angular form validation messages]]></category>
		<category><![CDATA[angular form validation on submit]]></category>
		<category><![CDATA[angular form values]]></category>
		<category><![CDATA[angular input]]></category>
		<category><![CDATA[angular input box]]></category>
		<category><![CDATA[angular input custom validation]]></category>
		<category><![CDATA[angular input email]]></category>
		<category><![CDATA[angular input email validation]]></category>
		<category><![CDATA[angular input field]]></category>
		<category><![CDATA[angular input number]]></category>
		<category><![CDATA[angular input validation]]></category>
		<category><![CDATA[angular invalid]]></category>
		<category><![CDATA[angular material error message]]></category>
		<category><![CDATA[angular material form submit]]></category>
		<category><![CDATA[angular material form validation]]></category>
		<category><![CDATA[angular material validation]]></category>
		<category><![CDATA[angular message box]]></category>
		<category><![CDATA[angular messages]]></category>
		<category><![CDATA[angular messages bower]]></category>
		<category><![CDATA[angular messages cdn]]></category>
		<category><![CDATA[angular messages js]]></category>
		<category><![CDATA[angular min max validation]]></category>
		<category><![CDATA[angular ng error]]></category>
		<category><![CDATA[angular ng if]]></category>
		<category><![CDATA[angular ng pattern]]></category>
		<category><![CDATA[angular ng pattern example]]></category>
		<category><![CDATA[angular ng required]]></category>
		<category><![CDATA[angular ng required example]]></category>
		<category><![CDATA[angular ng valid]]></category>
		<category><![CDATA[angular ngmessage]]></category>
		<category><![CDATA[angular ngmessages]]></category>
		<category><![CDATA[angular numeric validation]]></category>
		<category><![CDATA[angular phone number validation]]></category>
		<category><![CDATA[angular remote validation]]></category>
		<category><![CDATA[angular required]]></category>
		<category><![CDATA[angular required validation]]></category>
		<category><![CDATA[angular set form valid]]></category>
		<category><![CDATA[angular set validity]]></category>
		<category><![CDATA[angular setvalidity]]></category>
		<category><![CDATA[angular submit button]]></category>
		<category><![CDATA[angular submit form]]></category>
		<category><![CDATA[angular success message]]></category>
		<category><![CDATA[angular ui forms]]></category>
		<category><![CDATA[angular ui validate]]></category>
		<category><![CDATA[angular valid email]]></category>
		<category><![CDATA[angular valid form]]></category>
		<category><![CDATA[angular validate email]]></category>
		<category><![CDATA[angular validate email address]]></category>
		<category><![CDATA[angular validate form]]></category>
		<category><![CDATA[angular validate number]]></category>
		<category><![CDATA[angular validate phone number]]></category>
		<category><![CDATA[angular validation]]></category>
		<category><![CDATA[angular validation directive]]></category>
		<category><![CDATA[angular validation example]]></category>
		<category><![CDATA[angular validation framework]]></category>
		<category><![CDATA[angular validation on submit]]></category>
		<category><![CDATA[angular2 email validation]]></category>
		<category><![CDATA[angular2 form validation]]></category>
		<category><![CDATA[angularjs 2 form validation]]></category>
		<category><![CDATA[angularjs and forms]]></category>
		<category><![CDATA[angularjs check form valid]]></category>
		<category><![CDATA[angularjs check valid email]]></category>
		<category><![CDATA[angularjs clear form errors]]></category>
		<category><![CDATA[angularjs client side validation]]></category>
		<category><![CDATA[angularjs create form]]></category>
		<category><![CDATA[angularjs custom error message]]></category>
		<category><![CDATA[angularjs custom form validation directive]]></category>
		<category><![CDATA[angularjs custom validation]]></category>
		<category><![CDATA[angularjs custom validation directive example]]></category>
		<category><![CDATA[angularjs custom validation on submit]]></category>
		<category><![CDATA[angularjs dirty]]></category>
		<category><![CDATA[angularjs display error message]]></category>
		<category><![CDATA[angularjs email]]></category>
		<category><![CDATA[angularjs email template]]></category>
		<category><![CDATA[angularjs email validation]]></category>
		<category><![CDATA[angularjs email validation directive]]></category>
		<category><![CDATA[angularjs email validation example]]></category>
		<category><![CDATA[angularjs email validation in controller]]></category>
		<category><![CDATA[angularjs email validation pattern]]></category>
		<category><![CDATA[angularjs error]]></category>
		<category><![CDATA[angularjs error message]]></category>
		<category><![CDATA[angularjs error message directive]]></category>
		<category><![CDATA[angularjs error message popup]]></category>
		<category><![CDATA[angularjs error minlength]]></category>
		<category><![CDATA[angularjs error object]]></category>
		<category><![CDATA[angularjs error required]]></category>
		<category><![CDATA[angularjs field validation]]></category>
		<category><![CDATA[angularjs form]]></category>
		<category><![CDATA[angularjs form control]]></category>
		<category><![CDATA[angularjs form controller]]></category>
		<category><![CDATA[angularjs form custom validation]]></category>
		<category><![CDATA[angularjs form directive]]></category>
		<category><![CDATA[angularjs form error message]]></category>
		<category><![CDATA[angularjs form errors]]></category>
		<category><![CDATA[angularjs form example]]></category>
		<category><![CDATA[angularjs form model]]></category>
		<category><![CDATA[angularjs form submit]]></category>
		<category><![CDATA[angularjs form submit example]]></category>
		<category><![CDATA[angularjs form validation]]></category>
		<category><![CDATA[angularjs form validation after submit]]></category>
		<category><![CDATA[angularjs form validation bootstrap]]></category>
		<category><![CDATA[angularjs form validation controller]]></category>
		<category><![CDATA[angularjs form validation directive]]></category>
		<category><![CDATA[angularjs form validation email]]></category>
		<category><![CDATA[angularjs form validation error]]></category>
		<category><![CDATA[angularjs form validation error message]]></category>
		<category><![CDATA[angularjs form validation example]]></category>
		<category><![CDATA[angularjs form validation in controller]]></category>
		<category><![CDATA[angularjs form validation ng pattern]]></category>
		<category><![CDATA[angularjs form validation on button click]]></category>
		<category><![CDATA[angularjs form validation on submit]]></category>
		<category><![CDATA[angularjs form validation on submit example]]></category>
		<category><![CDATA[angularjs form validation tutorial]]></category>
		<category><![CDATA[angularjs html5 form validation]]></category>
		<category><![CDATA[angularjs if]]></category>
		<category><![CDATA[angularjs input]]></category>
		<category><![CDATA[angularjs input box]]></category>
		<category><![CDATA[angularjs input email validation]]></category>
		<category><![CDATA[angularjs input field]]></category>
		<category><![CDATA[angularjs input field validation]]></category>
		<category><![CDATA[angularjs input form]]></category>
		<category><![CDATA[angularjs input number]]></category>
		<category><![CDATA[angularjs input required]]></category>
		<category><![CDATA[angularjs input type email validation]]></category>
		<category><![CDATA[angularjs input validation]]></category>
		<category><![CDATA[angularjs input validation example]]></category>
		<category><![CDATA[angularjs invalid]]></category>
		<category><![CDATA[angularjs login form example]]></category>
		<category><![CDATA[angularjs maxlength]]></category>
		<category><![CDATA[angularjs message]]></category>
		<category><![CDATA[angularjs message box]]></category>
		<category><![CDATA[angularjs minlength validation]]></category>
		<category><![CDATA[angularjs model validation]]></category>
		<category><![CDATA[angularjs name validation]]></category>
		<category><![CDATA[angularjs ng]]></category>
		<category><![CDATA[angularjs ng if example]]></category>
		<category><![CDATA[angularjs ng maxlength example]]></category>
		<category><![CDATA[angularjs ng pattern]]></category>
		<category><![CDATA[angularjs ng validate]]></category>
		<category><![CDATA[angularjs ngmessages]]></category>
		<category><![CDATA[angularjs number validation example]]></category>
		<category><![CDATA[angularjs password validation]]></category>
		<category><![CDATA[angularjs pattern validation]]></category>
		<category><![CDATA[angularjs pattern validation example]]></category>
		<category><![CDATA[angularjs phone number validation]]></category>
		<category><![CDATA[angularjs phone number validation example]]></category>
		<category><![CDATA[angularjs phone validation]]></category>
		<category><![CDATA[angularjs popup message]]></category>
		<category><![CDATA[angularjs registration form validation]]></category>
		<category><![CDATA[angularjs registration form with validation]]></category>
		<category><![CDATA[angularjs remote validation]]></category>
		<category><![CDATA[angularjs required]]></category>
		<category><![CDATA[angularjs required field]]></category>
		<category><![CDATA[angularjs required field example]]></category>
		<category><![CDATA[angularjs required field validation example]]></category>
		<category><![CDATA[angularjs select required validation]]></category>
		<category><![CDATA[angularjs server side validation]]></category>
		<category><![CDATA[angularjs server validation]]></category>
		<category><![CDATA[angularjs set form valid]]></category>
		<category><![CDATA[angularjs setvalidity]]></category>
		<category><![CDATA[angularjs show error message]]></category>
		<category><![CDATA[angularjs signup form validation]]></category>
		<category><![CDATA[angularjs simple form]]></category>
		<category><![CDATA[angularjs submit]]></category>
		<category><![CDATA[angularjs submit form]]></category>
		<category><![CDATA[angularjs textbox validation example]]></category>
		<category><![CDATA[angularjs touch example]]></category>
		<category><![CDATA[angularjs ui validate]]></category>
		<category><![CDATA[angularjs ui validate example]]></category>
		<category><![CDATA[angularjs valid]]></category>
		<category><![CDATA[angularjs validate email]]></category>
		<category><![CDATA[angularjs validate email address]]></category>
		<category><![CDATA[angularjs validate form]]></category>
		<category><![CDATA[angularjs validate form on submit]]></category>
		<category><![CDATA[angularjs validate phone number]]></category>
		<category><![CDATA[angularjs validation]]></category>
		<category><![CDATA[angularjs validation directives]]></category>
		<category><![CDATA[angularjs validation email]]></category>
		<category><![CDATA[angularjs validation error]]></category>
		<category><![CDATA[angularjs validation error message]]></category>
		<category><![CDATA[angularjs validation example]]></category>
		<category><![CDATA[angularjs validation form]]></category>
		<category><![CDATA[angularjs validation number]]></category>
		<category><![CDATA[angularjs validation on button click]]></category>
		<category><![CDATA[angularjs validation on submit]]></category>
		<category><![CDATA[angularjs validation on submit example]]></category>
		<category><![CDATA[angularjs validation phone number]]></category>
		<category><![CDATA[angularjs validation required]]></category>
		<category><![CDATA[angularjs validation tutorial]]></category>
		<category><![CDATA[bootstrap form error]]></category>
		<category><![CDATA[bootstrap input error]]></category>
		<category><![CDATA[bootstrap required field]]></category>
		<category><![CDATA[bootstrap validation example]]></category>
		<category><![CDATA[create a form in angularjs]]></category>
		<category><![CDATA[create form in angularjs]]></category>
		<category><![CDATA[create form using angularjs]]></category>
		<category><![CDATA[directive form validation]]></category>
		<category><![CDATA[dirty in angularjs]]></category>
		<category><![CDATA[display error message in angularjs]]></category>
		<category><![CDATA[email angularjs]]></category>
		<category><![CDATA[email validation angular]]></category>
		<category><![CDATA[email validation angularjs]]></category>
		<category><![CDATA[email validation in angular]]></category>
		<category><![CDATA[email validation in angularjs]]></category>
		<category><![CDATA[email validation in angularjs controller]]></category>
		<category><![CDATA[email validation using angularjs]]></category>
		<category><![CDATA[error angular]]></category>
		<category><![CDATA[error angularjs]]></category>
		<category><![CDATA[error in angularjs]]></category>
		<category><![CDATA[error message in angularjs]]></category>
		<category><![CDATA[error required angularjs]]></category>
		<category><![CDATA[file validation in angularjs]]></category>
		<category><![CDATA[form angular]]></category>
		<category><![CDATA[form angularjs]]></category>
		<category><![CDATA[form control angular]]></category>
		<category><![CDATA[form error angular]]></category>
		<category><![CDATA[form in angularjs]]></category>
		<category><![CDATA[form message]]></category>
		<category><![CDATA[form ng]]></category>
		<category><![CDATA[form novalidate angularjs]]></category>
		<category><![CDATA[form submit angularjs]]></category>
		<category><![CDATA[form submit in angularjs]]></category>
		<category><![CDATA[form submit in angularjs example]]></category>
		<category><![CDATA[form touched angular]]></category>
		<category><![CDATA[form valid angularjs]]></category>
		<category><![CDATA[form validation angular]]></category>
		<category><![CDATA[form validation angularjs]]></category>
		<category><![CDATA[form validation angularjs example]]></category>
		<category><![CDATA[form validation error]]></category>
		<category><![CDATA[form validation error messages]]></category>
		<category><![CDATA[form validation example in angularjs]]></category>
		<category><![CDATA[form validation in angularjs]]></category>
		<category><![CDATA[form validation in angularjs example]]></category>
		<category><![CDATA[form validation in angularjs on submit]]></category>
		<category><![CDATA[form validation in javascript with error messages examples]]></category>
		<category><![CDATA[form validation messages]]></category>
		<category><![CDATA[form validation messages example]]></category>
		<category><![CDATA[form validation on submit in angularjs]]></category>
		<category><![CDATA[form validation using angularjs]]></category>
		<category><![CDATA[form validation using angularjs example]]></category>
		<category><![CDATA[forms in angular]]></category>
		<category><![CDATA[forms with angular]]></category>
		<category><![CDATA[forms with angularjs]]></category>
		<category><![CDATA[html form minlength]]></category>
		<category><![CDATA[input angularjs]]></category>
		<category><![CDATA[input field validation in angularjs]]></category>
		<category><![CDATA[input validation in angularjs]]></category>
		<category><![CDATA[ionic form validation]]></category>
		<category><![CDATA[isvalid angularjs]]></category>
		<category><![CDATA[max length in angularjs]]></category>
		<category><![CDATA[minlength html]]></category>
		<category><![CDATA[minlength in angularjs]]></category>
		<category><![CDATA[mobile number validation in angularjs example]]></category>
		<category><![CDATA[name validation in angularjs]]></category>
		<category><![CDATA[ng disabled form]]></category>
		<category><![CDATA[ng email validation]]></category>
		<category><![CDATA[ng error]]></category>
		<category><![CDATA[ng form]]></category>
		<category><![CDATA[ng form angularjs]]></category>
		<category><![CDATA[ng form example]]></category>
		<category><![CDATA[ng form validation]]></category>
		<category><![CDATA[ng if angularjs example]]></category>
		<category><![CDATA[ng if in angularjs]]></category>
		<category><![CDATA[ng if in angularjs example]]></category>
		<category><![CDATA[ng invalid]]></category>
		<category><![CDATA[ng match angularjs]]></category>
		<category><![CDATA[ng message in angularjs]]></category>
		<category><![CDATA[ng messages custom validation]]></category>
		<category><![CDATA[ng messages email validation]]></category>
		<category><![CDATA[ng messages example]]></category>
		<category><![CDATA[ng messages ng if example]]></category>
		<category><![CDATA[ng minlength]]></category>
		<category><![CDATA[ng pattern]]></category>
		<category><![CDATA[ng pattern example]]></category>
		<category><![CDATA[ng pattern for email]]></category>
		<category><![CDATA[ng pattern for phone number]]></category>
		<category><![CDATA[ng pattern validation in angularjs]]></category>
		<category><![CDATA[ng required angularjs]]></category>
		<category><![CDATA[ng required example]]></category>
		<category><![CDATA[ng required in angularjs]]></category>
		<category><![CDATA[ng valid]]></category>
		<category><![CDATA[ng valid email]]></category>
		<category><![CDATA[ng validation]]></category>
		<category><![CDATA[ngmessages cdn]]></category>
		<category><![CDATA[novalidate angular]]></category>
		<category><![CDATA[novalidate angularjs]]></category>
		<category><![CDATA[novalidate in angularjs]]></category>
		<category><![CDATA[number validation in angularjs]]></category>
		<category><![CDATA[number validation in angularjs example]]></category>
		<category><![CDATA[phone number validation in angularjs]]></category>
		<category><![CDATA[phone number validation in angularjs example]]></category>
		<category><![CDATA[registration form validation in angularjs]]></category>
		<category><![CDATA[require angular]]></category>
		<category><![CDATA[required angularjs]]></category>
		<category><![CDATA[required field angularjs]]></category>
		<category><![CDATA[required field validation in angularjs]]></category>
		<category><![CDATA[required field validator in angularjs]]></category>
		<category><![CDATA[required in angularjs]]></category>
		<category><![CDATA[scope form valid]]></category>
		<category><![CDATA[select box validation in angularjs]]></category>
		<category><![CDATA[select required angularjs]]></category>
		<category><![CDATA[select validation in angularjs]]></category>
		<category><![CDATA[setvalidity angularjs]]></category>
		<category><![CDATA[show error message in angularjs]]></category>
		<category><![CDATA[show success message in angularjs]]></category>
		<category><![CDATA[show validation message in angularjs]]></category>
		<category><![CDATA[simple form in angularjs]]></category>
		<category><![CDATA[submit form in angularjs]]></category>
		<category><![CDATA[submit form using angularjs]]></category>
		<category><![CDATA[submitted angularjs]]></category>
		<category><![CDATA[success message in angularjs]]></category>
		<category><![CDATA[ui validate angular]]></category>
		<category><![CDATA[ui validation in angularjs]]></category>
		<category><![CDATA[valid angularjs]]></category>
		<category><![CDATA[valid form angularjs]]></category>
		<category><![CDATA[validate angularjs form]]></category>
		<category><![CDATA[validate email angular]]></category>
		<category><![CDATA[validate email angularjs]]></category>
		<category><![CDATA[validate email in angularjs]]></category>
		<category><![CDATA[validate form angularjs]]></category>
		<category><![CDATA[validate form in angularjs]]></category>
		<category><![CDATA[validate form using angularjs]]></category>
		<category><![CDATA[validate phone number angularjs]]></category>
		<category><![CDATA[validation angularjs]]></category>
		<category><![CDATA[validation angularjs example]]></category>
		<category><![CDATA[validation directive angularjs]]></category>
		<category><![CDATA[validation error message examples]]></category>
		<category><![CDATA[validation for email in angularjs]]></category>
		<category><![CDATA[validation in angularjs]]></category>
		<category><![CDATA[validation in angularjs example]]></category>
		<category><![CDATA[validation message]]></category>
		<category><![CDATA[validation on submit button in angularjs]]></category>
		<category><![CDATA[validation using angularjs]]></category>
		<category><![CDATA[validation with angularjs]]></category>
		<category><![CDATA[validators angular]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=417</guid>
		<description><![CDATA[Olá a todos. Sejam bem vindos aos Canal e Blog SW9

Recentemente fiz uma enquete na Internet dando duas opções sobre qual tema (próximo tema)
gostariam de ver no meu canal e blog. As duas opções eram:

1- Construção de Testes Unitários usando Jest
2- Validação de formulários usando ngMessage

Bom, a grande vencedora foi a segunda opção. Portanto hoje começo uma nova série de vídeos,
agora para explicar passo a passo como utilizar o ngMessage para validar formulários web.

Esta nova série será composta de 3 vídeos. No primeiro vídeo vou instalar os requisitos necessários
para o nosso App em AngularJS, em seguida vou explicar passo a passo a construção do formulário de exemplo apresentando as opções de validação, template de mensagens e formas visuais de apresentar os erros.

No segundo vídeo da série, vou focar no controlador que vai receber a requisição do formulário,
verificar se o formulário é válido ou não e enviar os dados para serem salvos na API Fake Json-Server.

Como complemento vou mostrar como construir a funcionalidade de loading que aparece no botão de submit do formulário até que o processamento seja finalizado.

Já no último vídeo da série, que vou chamar de faixa bonus, vou apresentar duas forma diferentes de exibição dos erros e como construir novas validações para incorporar no ngMessage.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/04/11/ng-message-como-validar-formularios-angular-e-ngmessage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testando seu App AngularJS com Karma e Jasmine &#8211; Parte Final &#8211; SW9</title>
		<link>https://blog.sw9.com.br/2017/03/28/testando-seu-app-angularjs-com-karma-e-jasmine-testando-controlador-mais-api-2/</link>
		<comments>https://blog.sw9.com.br/2017/03/28/testando-seu-app-angularjs-com-karma-e-jasmine-testando-controlador-mais-api-2/#comments</comments>
		<pubDate>Tue, 28 Mar 2017 15:00:20 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[Angular]]></category>
		<category><![CDATA[Angular JS]]></category>
		<category><![CDATA[Casos de Teste]]></category>
		<category><![CDATA[Jasmine]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Testando seu App em AngularJS]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Testes Unitários]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=415</guid>
		<description><![CDATA[Olá a todos.

Decidi lançar uma nova série, agora para falar sobre testes associados a Apps Web.

O Teste é uma das fases mais importantes do ciclo de desenvolvimento de um Software, seja ele para a Web, Desktop ou Mobile.

Neste último vídeo da série vou construir o último caso de teste que consiste em validar quando passamos um id de usuário inválido (que não existe na base de dados).
Neste caso, o comportamento que esperamos é o App nos direcionar para uma página de erro (Página 404).

Primeiro vamos começar construindo nosso controlador 404, nosso arquivo de teste e por último o arquivo html contendo a mensagem de erro. Para concluir, vou completar o arquivo de teste do controlador [Contato] onde incluo o último caso de teste e valido o redirecionamento para a página de Erro.

Atenção especial para o roteamento em nosso App, onde uso o ui-router e não mais o ngRoute.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/03/28/testando-seu-app-angularjs-com-karma-e-jasmine-testando-controlador-mais-api-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testando seu App AngularJS com Karma e Jasmine &#8211; Parte 4 &#8211; SW9</title>
		<link>https://blog.sw9.com.br/2017/03/16/testando-seu-app-angularjs-com-karma-e-jasmine-testando-controlador-mais-api/</link>
		<comments>https://blog.sw9.com.br/2017/03/16/testando-seu-app-angularjs-com-karma-e-jasmine-testando-controlador-mais-api/#comments</comments>
		<pubDate>Thu, 16 Mar 2017 15:00:57 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[Angular]]></category>
		<category><![CDATA[Angular JS]]></category>
		<category><![CDATA[Casos de Teste]]></category>
		<category><![CDATA[Jasmine]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Testando seu App em AngularJS]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Testes Unitários]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=408</guid>
		<description><![CDATA[Olá a todos.

Para este Quarto vídeo da série, vou iniciar a construção de testes para validar o funcionamento do Controlador chamado [Contatos].  

Este controlador deve receber um único contato válido, utilizar o nome da rede social contida neste contato para fazer uma pesquisa na API Social e trazer demais detalhes da rede social, como url, nome e ícone.

Como bônus, explico como incluir o comando [karma start --reporters spec] dentro do arquivo package.json, dando possibilidade ao desenvolvedor de digitar apenas [npm test], no prompt de comando, todas as vezes que for necessário executar o test runner Karma.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/03/16/testando-seu-app-angularjs-com-karma-e-jasmine-testando-controlador-mais-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testando seu App AngularJS com Karma e Jasmine &#8211; Parte 3 &#8211; SW9</title>
		<link>https://blog.sw9.com.br/2017/03/14/testando-seu-app-angularjs-com-karma-e-jasmine-testando-chamada-api/</link>
		<comments>https://blog.sw9.com.br/2017/03/14/testando-seu-app-angularjs-com-karma-e-jasmine-testando-chamada-api/#comments</comments>
		<pubDate>Tue, 14 Mar 2017 15:00:35 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[Angular]]></category>
		<category><![CDATA[Angular JS]]></category>
		<category><![CDATA[Casos de Teste]]></category>
		<category><![CDATA[Jasmine]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Testando seu App em AngularJS]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Testes Unitários]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=407</guid>
		<description><![CDATA[Olá a todos.

Para este Terceiro vídeo da série, vou mostrar como construir testes para validar o funcionamento de uma chamada API REST.

A API REST que vou utilizar é o Json-Server (Fake Full Rest API). Para quem quiser saber mais sobre o Json-Server, vou deixar no final da descrição o link para um dos vídeos que gravei sobre o assunto.

Para testar a API, vou criar um serviço chamado social e, a partir dele, realizar a chamada a API Json-Server para me retornar dados de redes sociais.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/03/14/testando-seu-app-angularjs-com-karma-e-jasmine-testando-chamada-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testando seu App AngularJS com Karma e Jasmine &#8211; Parte 2 &#8211; SW9</title>
		<link>https://blog.sw9.com.br/2017/03/02/testando-seu-app-angularjs-com-karma-e-jasmine-filtros-controladores/</link>
		<comments>https://blog.sw9.com.br/2017/03/02/testando-seu-app-angularjs-com-karma-e-jasmine-filtros-controladores/#comments</comments>
		<pubDate>Thu, 02 Mar 2017 15:00:41 +0000</pubDate>
		<dc:creator><![CDATA[Paulo Eduardo]]></dc:creator>
				<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[Angular]]></category>
		<category><![CDATA[Angular JS]]></category>
		<category><![CDATA[Casos de Teste]]></category>
		<category><![CDATA[Jasmine]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Karma]]></category>
		<category><![CDATA[Testando seu App em AngularJS]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Testes Unitários]]></category>

		<guid isPermaLink="false">http://blog.sw9.com.br/?p=401</guid>
		<description><![CDATA[Olá a todos.

Decidi lançar uma nova série, agora para falar sobre testes associados a Apps Web.

O Teste é uma das fases mais importantes do cliclo de desenvolvimento de um Software, seja ele para a Web, Desktop ou Mobile.

Eu digo a vocês que o teste é o grande aliado para identificarmos potenciais defeitos no código.

Já passou a época onde as pessoas desenvolviam os sistemas e para testá-los navegavam por todas as telas em busca de defeitos.
Essa pode ser uma alternativa, mas não é a única. Para realizarmos testes de qualidade, o mais correto é construirmos casos de teste
e aplicá-los de forma automática sempre que ocorrer uma alteração em nosso código.

Para esta primeira série sobre testes, vou focar no processo de testes de um App escrito em AngularJS. Como fazer isso? Como consigo criar testes
para validar os códigos escritos em AngularJS.

Para viabilizar a construção dos testes, vamos precisar de um framework de teste, que nada mais é do que um conjunto de features que vai nos permitir
codificar casos de teste. Para o caso do AngularJS o escolhido foi o framework Jasmine.]]></description>
		<wfw:commentRss>https://blog.sw9.com.br/2017/03/02/testando-seu-app-angularjs-com-karma-e-jasmine-filtros-controladores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
