Giriş
Şu satırı dahil ederiz.
Örnek - Complex Type
List ile birleştirmek için şöyle yaparız.
Generic kullanarak şöyle yaparız.
Hibernate @Email ile birleştirerek şöyle yaparız.
Spring ile birleştirerek şöyle yaparız.
Elimizde bir alanı @NotNull olarak işaretli şöyle olan User nesnesi olsun.
Şu satırı dahil ederiz.
import javax.validation.Valid;
Complex Type Nedir
Composition ilişkisine sahip ve Bean Validation yapan iki sınıf varsa, owner tarafa da @Valid anotasyonu gerekir.
Örnek - Yanlış Kod
Elimizde şöyle bir kod olsun. Burada Address üye alanı Bean Validation anotasyonlarına sahip ancak @Valid ile işaretli olmadığı için null olmayan ancak boş bir Address nesnesi ile doğrulanırsa, exception fırlatılmaz.
public class User {@Idprivate String id;@NotEmptyprivate String name;@NotNullprivate Address address;}public class Address {@NotEmptyprivate String street;@NotEmptyprivate String city;@Size(min = 4, max = 6)private String postcode;}
List ile birleştirmek için şöyle yaparız.
public class UserAddressesForm {
@NotEmpty
private String firstName;
@NotEmpty
private String lastName;
@Valid
private List<AddressForm> addresses;
...
}
public class AddressForm {
@NotEmpty
private String customName;
@NotEmpty
private String city;
@NotEmpty
private String streetAn;
@NotEmpty
private String streetHn;
@NotEmpty
private String addressCountry;
@NotEmpty
private String postCode;
...
}
Örnek - Complex TypeGeneric kullanarak şöyle yaparız.
public class ParentPojo<T> implements Serializable{
@NotNull
private String cNumber;
@NotNull
private String statusCode;
@Valid
@NotNull
T child;
}
Örnek - Complex TypeHibernate @Email ile birleştirerek şöyle yaparız.
@Valid
private List<@Email String> emails = new ArrayList<>();
Örnek
Spring ile birleştirerek şöyle yaparız.
@RequestMapping(value = "/addUser", method = RequestMethod.POST)
public String addEmployee(@Valid @ModelAttribute("userFrom")User user,
BindingResult result) {
if(result.hasErrors()){
return "User";
}
return "success";
}
ÖrnekElimizde bir alanı @NotNull olarak işaretli şöyle olan User nesnesi olsun.
@NotNull(message = "First Name cannot be null")
private String firstName;
Spring ile birleştirerek şöyle yaparız.@RequestMapping(value = "/addUser", method = RequestMethod.POST)
public String addUser(@Valid User user, BindingResult result) {
if (result.hasErrors()) {
return "errorPage";
} else {
return "Done";
}
}
Hiç yorum yok:
Yorum Gönder