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&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