From 21c09840e9d854b26da98b54ed845967de885f46 Mon Sep 17 00:00:00 2001
From: Fabiano Sluzarski <fs09@inf.ufpr.br>
Date: Wed, 12 Mar 2014 16:07:29 -0300
Subject: [PATCH] adicionado mascaras nos campos de telefone e horario

---
 .../c3sl/estacaojuventude/Localizacao.java    |  4 ++
 .../c3sl/estacaojuventude/OrgaoExecutor.java  |  2 +
 .../WEB-INF/tags/form/fields/input.tagx       | 41 ++++++++++++++++---
 .../WEB-INF/views/localizacoes/create.jspx    |  6 +--
 .../WEB-INF/views/localizacoes/update.jspx    | 12 +++---
 src/main/webapp/WEB-INF/views/menu.jspx       |  5 ++-
 .../WEB-INF/views/orgaoexecutores/create.jspx |  6 +--
 .../WEB-INF/views/orgaoexecutores/update.jspx |  6 +--
 8 files changed, 61 insertions(+), 21 deletions(-)

diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/Localizacao.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/Localizacao.java
index bab7fa7..75c3b83 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/Localizacao.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/Localizacao.java
@@ -9,6 +9,7 @@ import javax.persistence.Enumerated;
 import javax.persistence.OneToOne;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
+import javax.validation.constraints.Size;
 
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.roo.addon.javabean.RooJavaBean;
@@ -38,12 +39,15 @@ public class Localizacao {
 
 	private Integer quantidadeVagas;
 
+	@Size(max = 5)
 	private String horarioInicio;
 	
+	@Size(max = 5)
 	private String horarioFim;
 
 	private String nomeReferencia;
 
+	@Size(max = 13)
 	private String telefone;
 
 	private String email;
diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/OrgaoExecutor.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/OrgaoExecutor.java
index 123e989..4c45ef6 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/OrgaoExecutor.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/OrgaoExecutor.java
@@ -6,6 +6,7 @@ import javax.persistence.Column;
 import javax.persistence.OneToOne;
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
+import javax.validation.constraints.Size;
 
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.roo.addon.javabean.RooJavaBean;
@@ -39,6 +40,7 @@ public class OrgaoExecutor {
     
     private String emailContato;
     
+    @Size(max = 13)
     private String telefoneContato;
     
     @Temporal(TemporalType.DATE)
diff --git a/src/main/webapp/WEB-INF/tags/form/fields/input.tagx b/src/main/webapp/WEB-INF/tags/form/fields/input.tagx
index 7ead056..dcd86e6 100644
--- a/src/main/webapp/WEB-INF/tags/form/fields/input.tagx
+++ b/src/main/webapp/WEB-INF/tags/form/fields/input.tagx
@@ -20,6 +20,7 @@
   <jsp:directive.attribute name="z" type="java.lang.String" required="false" description="Used for checking if element has been modified (to recalculate simply provide empty string value)" />
   
   <jsp:directive.attribute name="hintValue" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the code for a diferent hint to be displayed." />
+  <jsp:directive.attribute name="mask" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the mask to be implemented in this element." />
   
   <c:if test="${empty render or render}">
   
@@ -31,6 +32,10 @@
       <c:set value="false" var="disabled" />
     </c:if>
     
+    <c:if test="${empty mask}">
+      <c:set value="" var="mask" />
+    </c:if>
+    
     <c:if test="${empty label}">
       <c:if test="${empty labelCode}">
         <c:set var="labelCode" value="${fn:substringAfter(id,'_')}" />
@@ -57,7 +62,7 @@
       <spring:escapeBody javaScriptEscape="true" >${field}</spring:escapeBody>
     </c:set>
     
-    <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;">
+    <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;" onkeypress="formatar('${mask}', '_${sec_field}_id', event)">
     <!--  style="margin-right: auto;" -->
       <label for="_${sec_field}_id">
         <c:out value="${fn:escapeXml(label)}" />
@@ -68,15 +73,15 @@
       </label>
       <c:choose>
         <c:when test="${disableFormBinding}">
-          <input id="_${sec_field}_id" name="${sec_field}" type="${fn:escapeXml(type)}" />
+          <input id="_${sec_field}_id" name="${sec_field}" type="${fn:escapeXml(type)}" maxlength="${max}" />
         </c:when>
         <c:otherwise>
           <c:choose>
             <c:when test="${type eq 'password'}">
-              <form:password id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" />
+              <form:password id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" maxlength="${max}" />
             </c:when>
             <c:otherwise>
-              <form:input id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" />
+              <form:input id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" maxlength="${max}"/>
             </c:otherwise>
           </c:choose>
           <br />
@@ -118,8 +123,34 @@
         Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.ValidationTextBox', widgetAttrs : { invalidMessage: '${sec_field_invalid}', required : ${required}, ${sec_validation_regex} missingMessage : '${sec_field_required}'}}));
         new dijit.Tooltip({
     		connectId: ["_${fn:escapeXml(id)}_id"],
-    		label: "${sec_field_validation}",
+    		label: "${sec_field_validation}"
 		});
+        
+        function formatar(mascara, id, event) {
+        	if (mascara != "") {
+				documento = document.getElementById(id);
+        		if (mascara == "upperCase") {
+        			if (event.keyCode != 8) {
+        				event.preventDefault();
+ 	       				documento.value += String.fromCharCode(event.which).toUpperCase();
+        			}
+        		}
+        		else {
+					//alert(documento.value);
+					//alert(event.keyCode);
+       				var i = documento.value.length;
+       				//var saida = mascara.substring(0,1);
+       				var saida = "#";
+       				var texto = mascara.substring(i);
+       				if (event.keyCode != 8) {
+       					if (texto.substring(0,1) != saida) {
+       						documento.value += texto.substring(0,1);
+       					}
+       				}
+        		}
+        	}
+        }
+        
       </script>
     </div>
     <br />
diff --git a/src/main/webapp/WEB-INF/views/localizacoes/create.jspx b/src/main/webapp/WEB-INF/views/localizacoes/create.jspx
index 20ffc9f..47f4d39 100644
--- a/src/main/webapp/WEB-INF/views/localizacoes/create.jspx
+++ b/src/main/webapp/WEB-INF/views/localizacoes/create.jspx
@@ -8,10 +8,10 @@
         <field:input field="logradouro" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_logradouro" z="R8VF4nPgbPp/k1CvGN5ciGIcG9o="/>
         <field:input field="bairro" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_bairro" z="K2LLo5fbTkJS/fDtHvy8wH1k9zM="/>
         <field:input field="cep" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_cep" z="YGTDfkF4UpnxWZnl++b+vmIqr1E="/>
-        <field:input field="horarioInicio" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioInicio" z="0Egfy+HjrWVXrGtXzQ/w4nb9YTA="/>
-        <field:input field="horarioFim" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioFim" z="xZvGYpfbHtzLW7dEgKoAV55BuJE="/>
+        <field:input field="horarioInicio" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioInicio" max="5" mask="##:##" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*:[0-9]*" z="0Egfy+HjrWVXrGtXzQ/w4nb9YTA="/>
+        <field:input field="horarioFim" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioFim" max="5" mask="##:##" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*:[0-9]*" z="xZvGYpfbHtzLW7dEgKoAV55BuJE="/>
         <field:input field="nomeReferencia" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_nomeReferencia" z="Xa47YY1HN/qBwALtrICTG729uCY="/>
-        <field:input field="telefone" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_telefone" z="ilHU4xzXIRkjlxIl1dQI1DEoICM="/>
+        <field:input field="telefone" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_telefone" max="13" mask="(##)####-####" validationMessageCode="field_invalid_integer" validationRegex="[(][0-9]*[)][0-9]*-[0-9]*" z="lKOFKqhdwMgNOK4wAeJCEGK6N3M="/>
         <field:input field="email" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_email" validationMessageCode="field_invalid_email" validationRegex="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}" z="user-managed"/>
         <field:input field="quantidadeVagas" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_quantidadeVagas" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*" z="user-managed"/>
         <field:select field="status" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_status" items="${tipostatuses}" path="tipostatuses" render="false" z="user-managed"/>
diff --git a/src/main/webapp/WEB-INF/views/localizacoes/update.jspx b/src/main/webapp/WEB-INF/views/localizacoes/update.jspx
index 2f04aa1..f4416cb 100644
--- a/src/main/webapp/WEB-INF/views/localizacoes/update.jspx
+++ b/src/main/webapp/WEB-INF/views/localizacoes/update.jspx
@@ -9,10 +9,10 @@
             <field:input field="logradouro" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_logradouro" z="R8VF4nPgbPp/k1CvGN5ciGIcG9o="/>
             <field:input field="bairro" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_bairro" z="K2LLo5fbTkJS/fDtHvy8wH1k9zM="/>
             <field:input field="cep" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_cep" z="YGTDfkF4UpnxWZnl++b+vmIqr1E="/>
-            <field:input field="horarioInicio" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioInicio" z="0Egfy+HjrWVXrGtXzQ/w4nb9YTA="/>
-            <field:input field="horarioFim" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioFim" z="xZvGYpfbHtzLW7dEgKoAV55BuJE="/>
+            <field:input field="horarioInicio" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioInicio" max="5" mask="##:##" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*:[0-9]*" z="0Egfy+HjrWVXrGtXzQ/w4nb9YTA="/>
+            <field:input field="horarioFim" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioFim" max="5" mask="##:##" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*:[0-9]*" z="xZvGYpfbHtzLW7dEgKoAV55BuJE="/>
             <field:input field="nomeReferencia" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_nomeReferencia" z="Xa47YY1HN/qBwALtrICTG729uCY="/>
-            <field:input field="telefone" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_telefone" z="ilHU4xzXIRkjlxIl1dQI1DEoICM="/>
+            <field:input field="telefone" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_telefone" max="13" mask="(##)####-####" validationMessageCode="field_invalid_integer" validationRegex="[(][0-9]*[)][0-9]*-[0-9]*" z="lKOFKqhdwMgNOK4wAeJCEGK6N3M="/>
             <field:input field="email" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_email" validationMessageCode="field_invalid_email" validationRegex="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}" z="user-managed"/>
             <field:input field="quantidadeVagas" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_quantidadeVagas" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*" z="user-managed"/>
             <field:select field="status" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_status" items="${tipostatuses}" path="tipostatuses" z="TEwrKKSHtWZlxHF78UJ71aVsuQs="/>
@@ -29,10 +29,10 @@
             <field:input field="logradouro" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_logradouro" z="R8VF4nPgbPp/k1CvGN5ciGIcG9o="/>
             <field:input field="bairro" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_bairro" z="K2LLo5fbTkJS/fDtHvy8wH1k9zM="/>
             <field:input field="cep" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_cep" z="YGTDfkF4UpnxWZnl++b+vmIqr1E="/>
-            <field:input field="horarioInicio" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioInicio" z="0Egfy+HjrWVXrGtXzQ/w4nb9YTA="/>
-            <field:input field="horarioFim" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioFim" z="xZvGYpfbHtzLW7dEgKoAV55BuJE="/>
+            <field:input field="horarioInicio" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioInicio" max="5" mask="##:##" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*:[0-9]*" z="0Egfy+HjrWVXrGtXzQ/w4nb9YTA="/>
+            <field:input field="horarioFim" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_horarioFim" max="5" mask="##:##" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*:[0-9]*" z="xZvGYpfbHtzLW7dEgKoAV55BuJE="/>
             <field:input field="nomeReferencia" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_nomeReferencia" z="Xa47YY1HN/qBwALtrICTG729uCY="/>
-            <field:input field="telefone" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_telefone" z="ilHU4xzXIRkjlxIl1dQI1DEoICM="/>
+            <field:input field="telefone" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_telefone" max="13" mask="(##)####-####" validationMessageCode="field_invalid_integer" validationRegex="[(][0-9]*[)][0-9]*-[0-9]*" z="ilHU4xzXIRkjlxIl1dQI1DEoICM="/>
             <field:input field="email" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_email" validationMessageCode="field_invalid_email" validationRegex="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}" z="k189k964O3HRRnp3TNb0GDfmZts="/>
             <field:input field="quantidadeVagas" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_quantidadeVagas" validationMessageCode="field_invalid_integer" validationRegex="[0-9]*" z="UmLVOAQqGSoB5tMvB5qExH6t+2U="/>
             <field:select field="status" id="c_br_ufpr_c3sl_estacaojuventude_Localizacao_status" items="${tipostatuses}" path="tipostatuses" render="false" z="TEwrKKSHtWZlxHF78UJ71aVsuQs="/>
diff --git a/src/main/webapp/WEB-INF/views/menu.jspx b/src/main/webapp/WEB-INF/views/menu.jspx
index e77d54c..22bc9bf 100644
--- a/src/main/webapp/WEB-INF/views/menu.jspx
+++ b/src/main/webapp/WEB-INF/views/menu.jspx
@@ -24,7 +24,6 @@
             <menu:item id="i_localizacao_list" messageCode="global_menu_list_efetivo" url="/localizacoes/listEfetivos" z="user-managed"/>
             <menu:item id="i_localizacao_list" messageCode="global_menu_list_rejeitado" url="/localizacoes/listRejeitados" z="user-managed"/>
         </menu:category>
-        
         <sec:authorize ifAnyGranted="Administrador">
             <menu:category id="c_orgaoexecutor" z="fYXJnurCt66tAzE+lIIUnRgnRV8=">
                 <menu:item id="i_orgaoexecutor_new" messageCode="global_menu_new" url="/orgaoexecutores?form" z="user-managed"/>
@@ -47,5 +46,9 @@
                 <menu:item id="i_municipio_list" messageCode="global_menu_list" url="/municipios" z="user-managed"/>
             </menu:category>
         </sec:authorize>
+        <menu:category id="c_estado" z="R0VnER9YYkIt+dO11st4rxP96qg=">
+            <menu:item id="i_estado_new" messageCode="global_menu_new" url="/estados?form" z="adM5C9wtZ/vf/CojM9+M1Fvc8Ms="/>
+            <menu:item id="i_estado_list" messageCode="global_menu_list" url="/estados?page=1&amp;size=${empty param.size ? 10 : param.size}" z="gGumuRWP4RHdjjD9fcB0kXZgxOw="/>
+        </menu:category>
     </menu:menu>
 </div>
diff --git a/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx b/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx
index 382de6a..728ad34 100644
--- a/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx
+++ b/src/main/webapp/WEB-INF/views/orgaoexecutores/create.jspx
@@ -4,8 +4,8 @@
     <jsp:output omit-xml-declaration="yes"/>
     <form:create id="fc_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor" modelAttribute="orgaoExecutor" path="/orgaoexecutores" render="${empty dependencies}" z="ySSBiOgc68ijzLxGB8mEHSqYtyU=">
         <field:input field="nome" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_nome" z="JSU8dOb3wOb6yJZPU+35CzdY2oQ="/>
-        <field:input field="sigla" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_sigla" z="1HUcubyIs8CXWYqEdOLK4uhf7n4="/>
-        <field:input field="site" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_site" validationMessageCode="field_invalid_url" validationRegex="(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?" z="Z3eEDQIEcWpYg/0VjOzkRbI8qY4="/>
+        <field:input field="sigla" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_sigla" mask="upperCase" z="1HUcubyIs8CXWYqEdOLK4uhf7n4="/>
+        <field:input field="site" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_site" validationMessageCode="field_invalid_url" validationRegex="(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?" z="user-managed"/>
         <field:input field="endereco" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_endereco" z="tTcJ375UKIKQWJiq30XNmeti03c="/>
         <field:input field="logradouro" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_logradouro" z="k/1XFT6R2/obR+osepiqSAJabF8="/>
         <field:input field="bairro" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_bairro" z="C0AhYYllc9NQKj6P/OsWQ/cbgBs="/>
@@ -14,7 +14,7 @@
         <field:input field="contato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_contato" z="N464inkZDRkVnlMA8hpmvvyzs7g="/>
         <field:datetime dateTimePattern="${orgaoExecutor_ultimaalteracao_date_format}" field="ultimaAlteracao" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_ultimaAlteracao" render="false" z="user-managed"/>
         <field:input field="emailContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_emailContato" validationMessageCode="field_invalid_email" validationRegex="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}" z="user-managed"/>
-        <field:input field="telefoneContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_telefoneContato" z="tdG2SNodDcxXI/V8mlHQirypnvY="/>
+        <field:input field="telefoneContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_telefoneContato" max="13" mask="(##)####-####" validationMessageCode="field_invalid_integer" validationRegex="[(][0-9]*[)][0-9]*-[0-9]*" z="tdG2SNodDcxXI/V8mlHQirypnvY="/>
     </form:create>
     <form:dependency dependencies="${dependencies}" id="d_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor" render="${not empty dependencies}" z="AAjeOEHmudaMpa7oWwH71C1aVn0="/>
 </div>
diff --git a/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx b/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx
index 94658ec..1713e28 100644
--- a/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx
+++ b/src/main/webapp/WEB-INF/views/orgaoexecutores/update.jspx
@@ -4,8 +4,8 @@
     <jsp:output omit-xml-declaration="yes"/>
     <form:update id="fu_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor" modelAttribute="orgaoExecutor" path="/orgaoexecutores" versionField="Version" z="qhAPqI2XG7T0uM9aqy7UKyzZ7Bc=">
         <field:input field="nome" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_nome" z="JSU8dOb3wOb6yJZPU+35CzdY2oQ="/>
-        <field:input field="sigla" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_sigla" z="1HUcubyIs8CXWYqEdOLK4uhf7n4="/>
-        <field:input field="site" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_site" validationMessageCode="field_invalid_url" validationRegex="(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?" z="Z3eEDQIEcWpYg/0VjOzkRbI8qY4="/>
+        <field:input field="sigla" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_sigla" mask="upperCase" z="1HUcubyIs8CXWYqEdOLK4uhf7n4="/>
+        <field:input field="site" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_site" validationMessageCode="field_invalid_url" validationRegex="(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?" z="user-managed"/>
         <field:input field="endereco" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_endereco" z="tTcJ375UKIKQWJiq30XNmeti03c="/>
         <field:input field="logradouro" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_logradouro" z="k/1XFT6R2/obR+osepiqSAJabF8="/>
         <field:input field="bairro" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_bairro" z="C0AhYYllc9NQKj6P/OsWQ/cbgBs="/>
@@ -13,7 +13,7 @@
         <field:select field="municipio" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_municipio" itemValue="id" items="${municipios}" path="/municipios" z="TsmVkI/NlGQHwdhUUjgjQ8bprz4="/>
         <field:input field="contato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_contato" z="N464inkZDRkVnlMA8hpmvvyzs7g="/>
         <field:input field="emailContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_emailContato" validationMessageCode="field_invalid_email" validationRegex="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}" z="user-managed"/>
-        <field:input field="telefoneContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_telefoneContato" z="tdG2SNodDcxXI/V8mlHQirypnvY="/>
+        <field:input field="telefoneContato" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_telefoneContato" max="13" mask="(##)####-####" validationMessageCode="field_invalid_integer" validationRegex="[(][0-9]*[)][0-9]*-[0-9]*" z="tdG2SNodDcxXI/V8mlHQirypnvY="/>
         <field:datetime dateTimePattern="${orgaoExecutor_ultimaalteracao_date_format}" field="ultimaAlteracao" id="c_br_ufpr_c3sl_estacaojuventude_OrgaoExecutor_ultimaAlteracao" render="false" z="user-managed"/>
     </form:update>
 </div>
-- 
GitLab