-
Notifications
You must be signed in to change notification settings - Fork 3
Faces
O módulo Faces representa a camada de apresentação, com a definição de que a tecnologia JSF deverá ser utilizada.
Neste módulo são utilizadas as tecnologias:
- JSF 2
- Rewrite
- Primefaces
A arquitetura traz uma série de validadores que são comumente criados no desenvolvimento das aplicação, principalmente brasileiras. Praticamente todos os validadores criados são utilizados em componentes que a arquitetura provê, logo não precisariam ser utilizados diretamente, mas sim, via componente.
Entretanto, será demonstrado como utilizá-los independentemente, sem ser via componente.
- Validador de CNPJ
@FacesValidator("br.com.surittec.suricdi.faces.validator.CnpjValidator")
public class CnpjValidator implements Validator- Utilização
<f:validator validatorId="br.com.surittec.suricdi.faces.validator.CnpjValidator"/>- Validador de CPF
@FacesValidator("br.com.surittec.suricdi.faces.validator.CpfValidador")
public class CpfValidador implements Validator- Utilização
<f:validator validatorId="br.com.surittec.suricdi.faces.validator.CpfValidador"/>- Validador de Data
- Utilize o componente, será bem mais fácil para utilizar todos os recursos!
@FacesValidator("br.com.surittec.suricdi.faces.validator.DateValidator")
public class DateValidator implements Validator- Utilização
<f:validator validatorId="br.com.surittec.suricdi.faces.validator.DateValidator"/>
<f:attribute name="beforeThen" value="#{beforeThen}"/>
<f:attribute name="beforeThenMessage" value="#{beforeThenMessage}"/>
<f:attribute name="afterThen" value="#{afterThen}"/>
<f:attribute name="afterThenMessage" value="#{afterThenMessage}"/>- Validador de Email
@FacesValidator("br.com.surittec.suricdi.faces.validator.EmailValidator")
public class EmailValidator implements Validator- Utilização
<f:validator validatorId="br.com.surittec.suricdi.faces.validator.EmailValidator"/>- Validador de Comparação de Campos
- Utilize o componente, será bem mais fácil para utilizar todos os recursos!
@FacesValidator("br.com.surittec.suricdi.faces.validator.MatchValidator")
public class MatchValidator implements Validator- Utilização
<f:validator validatorId="br.com.surittec.suricdi.faces.validator.MatchValidator"/>
<f:attribute name="with" value="#{with}"/>
<f:attribute name="message" value="#{message}"/>Para facilitar o uso dos conversores e dos validadores a arquitetura provê uma série de componentes facelets que podem ser usados em conjunto com os diversos componentes (JSF, Primefaces e etc) de forma harmoniosa e não intrusiva.
Além disso, alguns componentes já incluem máscaras jquery em campos que necessitam, como cpf, cnpj, data e numérico. Ainda sobre máscaras, o componente InputMask do Primefaces foi sobrescrito para utilização com máscaras jquery do meiomask, que possuem um poder muito maior que as máscaras padrões do Primefaces.
Veja como utilizar máscaras meiomask em componentes Primefaces:
<p:inputMask id="cnpj" value="#{controller.cnpj}" mask="mask:'99.999.999/9999-99'"/>Para utilização dos componentes da arquitetura é necessário que, primeiramente, o namespace seja definido:
xmlns:s="http://www.surittec.com.br/jsf/ui"
xmlns:sf="http://www.surittec.com.br/jsf/fn"
- CNPJ
- Insere automaticamente no campo o conversor de cnpj, o validador de cnpj e a máscara de cnpj.
- Deve ser utilizado com o inputMask do Primefaces!
<p:inputMask id="cnpj" value="#{controller.cnpj}">
<s:cnpj />
</p:inputmask>- Informações
| Opções | Required | Default | Descrição |
|---|---|---|---|
| autoTab | false | false | True: pula automaticamente para o próximo campo quando preenchido |
- CPF
- Insere automaticamente no campo o conversor de cpf, o validador de cpf e a máscara de cpf.
- Deve ser utilizado com o inputMask do Primefaces!
<p:inputMask id="cpf" value="#{controller.cpf}">
<s:cpf />
</p:inputmask>- Informações
| Opções | Required | Default | Descrição |
|---|---|---|---|
| autoTab | false | false | True: pula automaticamente para o próximo campo quando preenchido |
- Data
- Insere automaticamente no campo o conversor de data, o validador de data e a máscara de data.
- Deve ser utilizado com o inputMask do Primefaces!
<p:inputMask id="data" value="#{controller.data}">
<s:date />
</p:inputmask>- Informações
| Opções | Required | Default | Descrição |
|---|---|---|---|
| autoTab | false | false | True: pula automaticamente para o próximo campo quando preenchido |
| pattern | false | dd/MM/yyyy | Pattern da data |
| mask | false | 39/19/9999 | Máscara da data para o pattern informado e acordo com o meiomask |
| beforeThen | false | Valida se o componente e anterior ao componente informado. Pode ser informado "today", "tomorrow" ou "yesterday" para validar a data. | |
| beforeThenMessage | false | Mensagem caso a validação beforeThen falhe. | |
| afterThen | false | Valida se o componente e posterior ao componente informado. Pode ser informado "today", "tomorrow" ou "yesterday" para validar a data. | |
| afterThenMessage | false | Mensagem caso a validação afterThen falhe. |
- Insere automaticamente no campo o validador de email.
<h:inputText id="email" value="#{controller.email}">
<s:email />
</h:inputtext>
- Enum
- Insere automaticamente no campo o conversor de enum.
<h:selectOneMenu id="tipoPessoa" value="#{controller.tipoPessoa}">
<s:enum noSelectionLabel="#{messages['global.selecione']}"/>
<f:selectItems value="#{controller.tipos}" var="t" itemLabel="#{t.descricao}" />
</h:selectonemenu>- Informações
| Opções | Required | Default | Descrição |
|---|---|---|---|
| noSelectionLabel | false | Label para opção vazia. |
- Match
- Insere automaticamente no campo o validador de comparação de campos.
- Coloque sempre no segundo campo, devido a ordem de validação de campos no JSF.
- Validará apenas se o primeiro e o segundo campos forem válidos.
<h:inputText id="email" value="#{controller.email}">
<s:email />
</h:inputtext>
<h:inputText id="emailConfirm" value="#{controller.emailConfirm}">
<s:email />
<s:match with="email"/>
</h:inputtext>- Informações
| Opções | Required | Default | Descrição |
|---|---|---|---|
| with | true | Componente que será comparado com este. | |
| message | false | Mensagem caso a validação falhe. |
- Number
- Insere automaticamente no campo o conversor de números e a máscara numérica.
- Deve ser utilizado com o inputMask do Primefaces!
<p:inputMask id="valor" value="#{controller.valor}">
<s:number />
</p:inputmask>- Informações
| Opções | Required | Default | Descrição |
|---|---|---|---|
| autoTab | false | false | True: pula automaticamente para o próximo campo quando preenchido. |
| alowNegative | false | false | True: Permite números negativos no campo. |
| convertionType | false | Pode ser informado para qual tipo o campo deverá ser convertido. Exemplo: java.lang.Short | |
| integerDigits | false | 12 | Número de dígitos inteiros |
| fractionDigits | false | 2 | Número de dígitos decimais |
| locale | false | View root locale | Locale |
- Object
- Insere automaticamente no campo o conversor de objetos.
<h:selectOneMenu id="pessoa" value="#{controller.pessoa}">
<s:object noSelectionLabel="#{messages['global.selecione']}"/>
<f:selectItems value="#{controller.pessoas}" var="p" itemLabel="#{p.nome}" />
</h:selectonemenu>- Informações
| Opções | Required | Default | Descrição |
|---|---|---|---|
| noSelectionLabel | false | Label para opção vazia. |
© Copyright 2014 SURITTEC