Domanda

Mi chiedevo, sto sottovalutando qualcosa o fa l'offerta validatore ibernazione alcuna annotazione di verificare che 2 campi sono uguali (ad esempio una password). So che posso scrivere le mie validatori, ma questo mi sembra ben funzionalità standard.

È stato utile?

Soluzione 3

appena andato per il percorso di convalida personalizzata. Le altre 2 risposte qui non sono realmente legati alla domanda. Con un po 'di googling ho trovato un esempio fieldmatch.

Altri suggerimenti

Se stai usando Spring Framework, è possibile utilizzare Primavera Expression Language (SPEL) per questo. Ho scritto piccola biblioteca che fornisce JSR-303 validatore sulla base di SPEL che rende convalide cross-campo molto facile. Date un'occhiata a https://github.com/jirutka/validator-spring .

Questa convaliderà l'uguaglianza dei campi password quando almeno uno di loro non è vuoto.

@SpELAssert(value = "password.equals(passwordVerify)",
            applyIf = "password || passwordVerify",
            message = "{validator.passwords_not_same}")
public class User {

    private String password;
    private String passwordVerify;
}

Un esempio ben definito che indirizzi un problema simile vale a dire, la convalida incrociata campo:

convalida del campo Croce con Hibernate Validator (JSR 303)

Hibernate è un ORM Mapper.

E 'utilizzato per salvare i dati in un database ed estrarre di nuovo. Come tali, 2 campi con un valore identico rende non molto senso (Da un punto di vista persistenza). Questo è qualcosa che si dovrebbe verificare nella logica di business.

E io sono con Junesh ... Non persistono le password in un formato recuperabile ... Look up Hasing e salatura - O, meglio ancora, pensare a OpenID modo da non dover perdere tempo ai vostri clienti con un'altra password stupida .. .

Spero che non sta salvando la password di conferma nel database pure. Non hanno alcuna fuori delle convalide box per questo, ma invece si dovrà annotazione uso personalizzato che è abbastanza dritto in avanti pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top