Restrições internas na validação de feijão
@NULL O elemento anotado deve ser nulo
@NotNull O elemento anotado não deve ser nulo
@AssertTrue O elemento anotado deve ser verdadeiro
@Assertfalse O elemento anotado deve ser falso
@Min (valor) O elemento anotado deve ser um número e seu valor deve ser maior ou igual ao valor mínimo especificado.
@Max (valor) O elemento anotado deve ser um número e seu valor deve ser menor ou igual ao valor máximo especificado.
@Decimalmin (valor) O elemento anotado deve ser um número, e seu valor deve ser maior ou igual ao valor mínimo especificado
@Decimalmax (valor) O elemento anotado deve ser um número, e seu valor deve ser menor ou igual ao valor máximo especificado
@Size (max =, min =) O tamanho do elemento anotado deve estar dentro do intervalo especificado.
@Digits (número inteiro, fração) O elemento anotado deve ser um número e seu valor deve estar dentro de um intervalo aceitável.
@Past O elemento anotado deve ser uma data passada
@Future O elemento anotado deve ser uma data futura
@Pattern (regex =, flag =) O elemento anotado deve cumprir com a expressão regular especificada
Hibernate Validator Anexado restrição
@NotBlank (mensagem =) Verifique se a string não é nula e deve ser maior que 0
@Email O elemento anotado deve ser um endereço de e -mail
@Length (min =, max =) O tamanho da sequência anotada deve estar dentro do intervalo especificado.
@NotEmpty A string comentada deve estar sem vazio
@Range (min =, max =, mensagem =) O elemento anotado deve estar dentro do intervalo apropriado
Efeitos e vantagens
Vamos ver o efeito final primeiro:
classe pública userentity {@password private string senha; @Email Private String email;}O acima usa duas anotações personalizadas para verificar senha e email. A vantagem disso é: uma definição é usada em todos os lugares. Ao modificar as regras de verificação, você só precisa modificar as anotações. Se você o personalizar, use a tag fornecida pelo Hibernate:
@Pattern (regexp = "...") email de sequência privada;
Se você precisar de repente modificar a regra de verificação regexp depois de escrever muitas aulas, a carga de trabalho será muito maior no momento.
concluir
Primeiro, introduza a dependência da validação de hibernato e adicione:
<!-Hibernate Validator-> <!-Hibernate Verification Framework-> <pendence> <puperid> org.hibernate </frupidId> <TRARFACTID> Hibernate-validador </stifactId> <versão
A validação de hibernato é uma implementação de referência do JSR; portanto, use -a para verificação do feijão.
A personalização de uma anotação de verificação é dividida em três etapas:
O primeiro passo é criar anotações:
@Target ({Método, campo, anotação_type, construtor, parâmetro})@retention (runtime)@documed@restrint (validadoBy = {emailValidator.class}) public @Interface email {string message () padrão "Este não é um formato de email válido"; /** * @RETURN A expressão regular para corresponder */string regexp () padrão "[a-za-z0-9 ._%+-]+ @[a-za-z0-9]+//. [a -za-z] {2,4}"; Classe <?> [] Grupos () padrão {}; Classe <? estende a carga de pagamento> [] Payload () padrão {}; /*** define várias anotações {@link size} no mesmo elemento. * * @see size */ @target ({Método, campo, anotação_type, construtor, parâmetro}) @retion (runtime) @documented @interface list {email [] value (); }} Crie anotações através da palavra -chave @Interface e cada método é um parâmetro da anotação. Por exemplo, no código acima, você pode usar @Email(regexp="...",message="...") como este. Você pode ignorar o resto, basta copiá -lo diretamente. Deve -se notar que @Constraint(validatedBy = { EmailValidator.class }) , aqui especifica a classe de verificação da anotação e substitui o nome da classe de acordo com a situação real.
O segundo passo é criar uma classe de verificação:
classe pública emailvalidator implementa restrintValidator <email, string> {private string regexp; @Override public void Initialize (email restrintannotation) {this.regexp = restrintannotation.regexp (); } @Override public boolean isValid (valor da string, restrintValidatorContext context) {if (value == null) {return true;} if (value.matches (regexp)) {return true; } retornar false; }} Aqui, basta implementar ConstraintValidator<Email, String> e criar um validador. O método inicialize obtém o valor regexp anotado e o método ISValid é verificado. Se atender à expressão regular, retornará verdadeiro, caso contrário, retornará falso.
Deve -se notar que, quando o valor estiver vazio, ou seja, quando o objeto de verificação não é inicializado, as regras de verificação correspondentes devem ser gravadas, caso contrário, um erro será relatado. No código acima, o que está escrito é:
if (value == null) {return true;}Ou seja, quando o objeto de verificação está vazio, ele retorna sucesso.
A terceira etapa é escrever a mensagem de erro padrão. De fato, esta etapa foi feita na primeira etapa, por meio de inadimplência, para que essa etapa não precise ser feita.
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.