Commit 84af5f973ad4ecc25cf5b2cb5e9449281d742463

Authored by mp-96409975520
1 parent b36ea6a1
Exists in master

Correção adição das mensagens de erros(estava adicionando 3x).

src/main/java/br/com/ases/model/utilities/Validate.java
@@ -18,195 +18,223 @@ import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; @@ -18,195 +18,223 @@ import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
18 import br.com.caelum.vraptor.validator.ValidationMessage; 18 import br.com.caelum.vraptor.validator.ValidationMessage;
19 19
20 public class Validate { 20 public class Validate {
21 -  
22 - private final Validator validator;  
23 -  
24 - public Validate(Validator validator){  
25 - this.validator = validator;  
26 - }  
27 -  
28 - public boolean contato(Contato contato){  
29 - boolean isValido = true;  
30 -  
31 - if(contato.getNome() == null){  
32 - this.validator.add(new ValidationMessage("Favor preencher o campo NOME!", "error"));  
33 - isValido = false;  
34 - }else  
35 - if(contato.getNome().length() > 200){  
36 - this.validator.add(new ValidationMessage("O campo NOME aceita até 200 caracteres.", "error"));  
37 - isValido = false;  
38 - }  
39 -  
40 - if(contato.getEmail() == null){  
41 - this.validator.add(new ValidationMessage("Favor preencher o campo E-MAIL!", "error"));  
42 - isValido = false;  
43 - }else{  
44 - Pattern p = Pattern.compile("^[\\w-]+(\\.[\\w-]+)*@([\\w-]+\\.)+[a-zA-Z]{2,7}$");  
45 - Matcher m = p.matcher(contato.getEmail());  
46 - if (!m.find()){  
47 - //this.validator.add(new ValidationMessage("Não foi possível enviar a mensagem! E-MAIL '"+contato.getEmail()+"' considerado inválido!", "error"));  
48 - this.validator.add(new ValidationMessage("E-MAIL considerado inválido!", "error"));  
49 - isValido = false;  
50 - }  
51 - }  
52 -  
53 - if(contato.getAssunto() == null){  
54 - this.validator.add(new ValidationMessage("Favor escolher uma das opções no campo ASSUNTO!", "error"));  
55 - isValido = false;  
56 - }  
57 -  
58 - if(contato.getMensagem() == null){  
59 - this.validator.add(new ValidationMessage("Favor preencher o campo MENSAGEM!", "error"));  
60 - isValido = false;  
61 - }else  
62 - if(contato.getMensagem().length() > 500){  
63 - this.validator.add(new ValidationMessage("O campo MENSAGEM aceita até 500 caracteres.", "error"));  
64 - isValido = false;  
65 - }  
66 -  
67 - return isValido;  
68 - }  
69 -  
70 -  
71 -  
72 -  
73 - public boolean url(String campo){  
74 -  
75 - boolean isValido = true;  
76 - int codResponse;  
77 -  
78 - if(campo == null || campo.length() <= 10 ){  
79 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Favor preencher o campo URL.", "warning"));  
80 - isValido = false;  
81 - }else{  
82 -  
83 - codResponse = verificarConexao(campo ,"user-agent", "NewUseAgent/1.0");  
84 -  
85 - if(codResponse != 200)  
86 - {  
87 - codResponse = verificarConexao(campo ,"http.agent", "Jakarta Commons-HttpClient/3.1");  
88 - if(codResponse != 200)  
89 - {  
90 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! URL "+campo+" � considerada inv�lida.", "warning"));  
91 - isValido = false;  
92 - }  
93 - else  
94 - {  
95 - isValido = true;  
96 - }  
97 - }  
98 - else  
99 - {  
100 - isValido = true;  
101 - }  
102 -  
103 - }  
104 -  
105 - return isValido;  
106 - }  
107 -  
108 - private Integer verificarConexao(String campo, String usuario, String agente)  
109 - {  
110 - System.setProperty("jsse.enableSNIExtension", "false");  
111 - int codResponse = -1;  
112 - HttpMethod metodoRequisicaoGET = null;  
113 - HttpClient clienteHTTPJakartaCommons;  
114 - URL UrlConvertida;  
115 -  
116 - try {  
117 -  
118 - UrlConvertida = new URL(campo);  
119 -  
120 - clienteHTTPJakartaCommons = new HttpClient();  
121 - clienteHTTPJakartaCommons.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3,false));  
122 - clienteHTTPJakartaCommons.getParams().setParameter("http.protocol.allow-circular-redirects", true);  
123 -  
124 - metodoRequisicaoGET = new GetMethod(UrlConvertida.toExternalForm());  
125 -  
126 - metodoRequisicaoGET.setRequestHeader(usuario, agente);  
127 - metodoRequisicaoGET.setFollowRedirects(true);  
128 -  
129 - codResponse = clienteHTTPJakartaCommons.executeMethod(metodoRequisicaoGET);  
130 -  
131 - return codResponse;  
132 -  
133 - } catch (MalformedURLException e) {  
134 - e.printStackTrace();  
135 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! URL "+campo+" � considerada inv�lida.", "warning"));  
136 - return -1;  
137 - } catch (IOException e) {  
138 - e.printStackTrace();  
139 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! URL "+campo+" � considerada inv�lida.", "warning"));  
140 - return -1;  
141 - }  
142 -  
143 - }  
144 -  
145 - public boolean condigoFonte(String campo){  
146 -  
147 - if(campo == null || campo.length() <= 10 ){  
148 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Favor preencher o campo C&oacute;digo a analisar.", "warning"));  
149 - return false;  
150 - }  
151 -  
152 - String reg = "<html.*?>(.*)<\\/html>";  
153 -  
154 - Pattern p = Pattern.compile(reg,Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE );  
155 - Matcher m = p.matcher(campo);  
156 -  
157 - if(!m.find()){  
158 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! O c&oacute;digo fonte n&atilde;o &eacute; do tipo HTML ou XHTML.", "warning"));  
159 - return false;  
160 - }  
161 -  
162 - if(campo.length() > 1048576){  
163 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Tamanho m&aacute;ximo permitido para c&oacute;digo fonte &eacute; at&eacute; 1024KB.", "warning"));  
164 - return false;  
165 - }  
166 -  
167 - return true;  
168 -  
169 - }  
170 -  
171 - public boolean uploadForm(UploadedFile file){  
172 -  
173 - if(file == null ){  
174 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Favor realizar o upload do arquivo.", "warning"));  
175 - return false;  
176 - }  
177 -  
178 - String fileType = file.getContentType();  
179 - if(!(fileType.equals("text/html") || fileType.equals("application/xhtml+xml") || fileType.equals("application/xhtml") || fileType.equals("application/xml"))){  
180 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! As extens&otilde;es permitidas para o arquivo s&atilde;o: .xht, .htm, .html ou .xhtml.", "warning"));  
181 - return false;  
182 - }  
183 -  
184 - if(file.getSize() > 1048576){  
185 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&eacute;vel realizar o upload do arquivo! Tamanho m&aacute;ximo permitido &eacute; de 1024KB.", "warning"));  
186 - return false;  
187 - }  
188 -  
189 - return true;  
190 -  
191 - }  
192 -  
193 - public boolean conteudoUploadForm(String html){  
194 -  
195 - String reg = "<html.*?>(.*)<\\/html>";  
196 -  
197 - Pattern p = Pattern.compile(reg,Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE);  
198 - Matcher m = p.matcher(html);  
199 -  
200 - if(!m.find()){  
201 - this.validator.add(new ValidationMessage("N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! O conte&eacute;do do arquivo n&atilde;o &eacute; do tipo HTML ou XHTML.", "warning"));  
202 - return false;  
203 - }  
204 -  
205 - return true;  
206 - }  
207 -  
208 - public Validator getMessage(){  
209 - return this.validator;  
210 - }  
211 -  
212 -}  
213 \ No newline at end of file 21 \ No newline at end of file
  22 +
  23 + private final Validator validator;
  24 +
  25 + public Validate(Validator validator) {
  26 + this.validator = validator;
  27 + }
  28 +
  29 + public boolean contato(Contato contato) {
  30 + boolean isValido = true;
  31 +
  32 + if (contato.getNome() == null) {
  33 + this.validator.add(new ValidationMessage("Favor preencher o campo NOME!", "error"));
  34 + isValido = false;
  35 + } else if (contato.getNome().length() > 200) {
  36 + this.validator.add(new ValidationMessage("O campo NOME aceita at&eacute; 200 caracteres.",
  37 + "error"));
  38 + isValido = false;
  39 + }
  40 +
  41 + if (contato.getEmail() == null) {
  42 + this.validator.add(new ValidationMessage("Favor preencher o campo E-MAIL!", "error"));
  43 + isValido = false;
  44 + } else {
  45 + Pattern p = Pattern.compile("^[\\w-]+(\\.[\\w-]+)*@([\\w-]+\\.)+[a-zA-Z]{2,7}$");
  46 + Matcher m = p.matcher(contato.getEmail());
  47 + if (!m.find()) {
  48 + // this.validator.add(new
  49 + // ValidationMessage("N&atilde;o foi poss&iacute;vel enviar a mensagem! E-MAIL '"+contato.getEmail()+"' considerado inv&aacute;lido!",
  50 + // "error"));
  51 + this.validator.add(new ValidationMessage("E-MAIL considerado inv&aacute;lido!", "error"));
  52 + isValido = false;
  53 + }
  54 + }
  55 +
  56 + if (contato.getAssunto() == null) {
  57 + this.validator.add(new ValidationMessage(
  58 + "Favor escolher uma das op&ccedil;&otilde;es no campo ASSUNTO!", "error"));
  59 + isValido = false;
  60 + }
  61 +
  62 + if (contato.getMensagem() == null) {
  63 + this.validator.add(new ValidationMessage("Favor preencher o campo MENSAGEM!", "error"));
  64 + isValido = false;
  65 + } else if (contato.getMensagem().length() > 500) {
  66 + this.validator.add(new ValidationMessage(
  67 + "O campo MENSAGEM aceita at&eacute; 500 caracteres.", "error"));
  68 + isValido = false;
  69 + }
  70 +
  71 + return isValido;
  72 + }
  73 +
  74 +
  75 +
  76 + public boolean url(String campo) {
  77 +
  78 + boolean isValido = true;
  79 + int codResponse;
  80 +
  81 + if (campo == null || campo.length() <= 10) {
  82 + this.validator
  83 + .add(new ValidationMessage(
  84 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Favor preencher o campo URL.",
  85 + "warning"));
  86 + isValido = false;
  87 + } else {
  88 +
  89 + codResponse = verificarConexao(campo, "user-agent", "NewUseAgent/1.0");
  90 +
  91 + if (codResponse != 200) {
  92 + codResponse = verificarConexao(campo, "http.agent", "Jakarta Commons-HttpClient/3.1");
  93 + if (codResponse != 200) {
  94 + this.validator.add(new ValidationMessage(
  95 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! URL " + campo
  96 + + " é considerada inválida.", "warning"));
  97 + isValido = false;
  98 + } else {
  99 + isValido = true;
  100 + }
  101 + } else {
  102 + isValido = true;
  103 + }
  104 +
  105 + }
  106 +
  107 + return isValido;
  108 + }
  109 +
  110 + private Integer verificarConexao(String campo, String usuario, String agente) {
  111 + System.setProperty("jsse.enableSNIExtension", "false");
  112 + int codResponse = -1;
  113 + HttpMethod metodoRequisicaoGET = null;
  114 + HttpClient clienteHTTPJakartaCommons;
  115 + URL UrlConvertida;
  116 +
  117 + try {
  118 +
  119 + UrlConvertida = new URL(campo);
  120 +
  121 + clienteHTTPJakartaCommons = new HttpClient();
  122 + clienteHTTPJakartaCommons.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
  123 + new DefaultHttpMethodRetryHandler(3, false));
  124 + clienteHTTPJakartaCommons.getParams().setParameter("http.protocol.allow-circular-redirects",
  125 + true);
  126 +
  127 + metodoRequisicaoGET = new GetMethod(UrlConvertida.toExternalForm());
  128 +
  129 + metodoRequisicaoGET.setRequestHeader(usuario, agente);
  130 + metodoRequisicaoGET.setFollowRedirects(true);
  131 +
  132 + codResponse = clienteHTTPJakartaCommons.executeMethod(metodoRequisicaoGET);
  133 +
  134 + return codResponse;
  135 +
  136 + } catch (MalformedURLException e) {
  137 + e.printStackTrace();
  138 + // this.validator.add(new ValidationMessage(
  139 + // "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! URL " + campo
  140 + // + " é considerada inválida.", "warning"));
  141 + return -1;
  142 + } catch (IOException e) {
  143 + e.printStackTrace();
  144 + //this.validator.add(new ValidationMessage(
  145 + // "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! URL " + campo
  146 + // + " é considerada inválida.", "warning"));
  147 + return -1;
  148 + }
  149 +
  150 + }
  151 +
  152 + public boolean condigoFonte(String campo) {
  153 +
  154 + if (campo == null || campo.length() <= 10) {
  155 + this.validator
  156 + .add(new ValidationMessage(
  157 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Favor preencher o campo C&oacute;digo a analisar.",
  158 + "warning"));
  159 + return false;
  160 + }
  161 +
  162 + String reg = "<html.*?>(.*)<\\/html>";
  163 +
  164 + Pattern p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE);
  165 + Matcher m = p.matcher(campo);
  166 +
  167 + if (!m.find()) {
  168 + this.validator
  169 + .add(new ValidationMessage(
  170 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! O c&oacute;digo fonte n&atilde;o &eacute; do tipo HTML ou XHTML.",
  171 + "warning"));
  172 + return false;
  173 + }
  174 +
  175 + if (campo.length() > 1048576) {
  176 + this.validator
  177 + .add(new ValidationMessage(
  178 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Tamanho m&aacute;ximo permitido para c&oacute;digo fonte &eacute; at&eacute; 1024KB.",
  179 + "warning"));
  180 + return false;
  181 + }
  182 +
  183 + return true;
  184 +
  185 + }
  186 +
  187 + public boolean uploadForm(UploadedFile file) {
  188 +
  189 + if (file == null) {
  190 + this.validator
  191 + .add(new ValidationMessage(
  192 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! Favor realizar o upload do arquivo.",
  193 + "warning"));
  194 + return false;
  195 + }
  196 +
  197 + String fileType = file.getContentType();
  198 + if (!(fileType.equals("text/html") || fileType.equals("application/xhtml+xml")
  199 + || fileType.equals("application/xhtml") || fileType.equals("application/xml"))) {
  200 + this.validator
  201 + .add(new ValidationMessage(
  202 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! As extens&otilde;es permitidas para o arquivo s&atilde;o: .xht, .htm, .html ou .xhtml.",
  203 + "warning"));
  204 + return false;
  205 + }
  206 +
  207 + if (file.getSize() > 1048576) {
  208 + this.validator
  209 + .add(new ValidationMessage(
  210 + "N&atilde;o foi poss&eacute;vel realizar o upload do arquivo! Tamanho m&aacute;ximo permitido &eacute; de 1024KB.",
  211 + "warning"));
  212 + return false;
  213 + }
  214 +
  215 + return true;
  216 +
  217 + }
  218 +
  219 + public boolean conteudoUploadForm(String html) {
  220 +
  221 + String reg = "<html.*?>(.*)<\\/html>";
  222 +
  223 + Pattern p = Pattern.compile(reg, Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE);
  224 + Matcher m = p.matcher(html);
  225 +
  226 + if (!m.find()) {
  227 + this.validator
  228 + .add(new ValidationMessage(
  229 + "N&atilde;o foi poss&iacute;vel realizar a avalia&ccedil;&atilde;o! O conte&eacute;do do arquivo n&atilde;o &eacute; do tipo HTML ou XHTML.",
  230 + "warning"));
  231 + return false;
  232 + }
  233 +
  234 + return true;
  235 + }
  236 +
  237 + public Validator getMessage() {
  238 + return this.validator;
  239 + }
  240 +
  241 +}