ich ein Formular abgesendet haben, können Sie dieses Formular sagen enthältFeder mvc binden in zwei Objekte, die identische Felder haben
<input name="address" ..>
und
<input name="billingAddress" ..>
ich habe 2 Objekte, denen ich binden müssen:
class Address {
String address;
..
}
class BillingAddress {
String address;
..
}
offensichtlich billingAddress
gewohnt binden Adresse ohne irgendeine Magie in BillingAddress
.
können sagen, dass ich mehrere identische Felder in beiden Address
und BillingAddress
aber auf dem Formular haben Präfix i die Abrechnungseingänge mit Abrechnung, dh billingFirstName, billingLastName usw.
gibt es eine elegante Weise, die ich zu BillingAddress
binden kann dass ich für ähnliche Probleme wiederverwenden kann?
(oder gibt es einen besseren Weg, dies dann zu lösen, was ich mit einfallen lassen?)
, die mir ein neues Problem gibt;) ich versuche, die Rechnungsanschrift und AddressObjects zu validieren ihre eigenen Validatoren verwenden, aber die BindingResult Objekt bezieht sich auf das FormModel-Objekt und kann daher keines der fehlerhaften Felder von den anderen 2 Objekten darauf finden. – mkoryak
Wenn ich Sie richtig verstehe, haben Sie benutzerdefinierte Validatoren für Adresse und Rechnungsadresse. In diesem Fall müssen Sie einen FormModelValidator erstellen, der Ihre benutzerdefinierten Validatoren aufruft. Ich habe ein Beispiel in meine Antwort oben hinzugefügt. –