Chuyện là dạo này join vào một cái project có logic khá là lằng nhằng phức tạp. Em tạm thời chia validation thành các layer như sau:
Data Validation >>> Business Logic/Rule Validation >>> Database Constraint Validation.
Chỗ Data Validation thì không có gì đáng nói. Chủ yếu là validate xem date có đúng type, format... etc hay không? Framework thì vô số Bean Validation, Fluent...
Database Validation cũng k có gì đáng nói, dùng cái có sẵn của DB là đủ.
Cái rắc rối nằm ở chỗ Business Rule, chỗ này có những cái validation logic nó cần tổ hợp của nhiều Model để xử lý. Hiện em chỉ có giải pháp là ném cmn Exception khi không thỏa điều kiện, còn lại thì cũng chưa biết cách nào tốt hơn. udency:
Vd
Các bác có cách nào hay chia sẻ cho em với ạ. Em cảm ơn udency:
Data Validation >>> Business Logic/Rule Validation >>> Database Constraint Validation.
Chỗ Data Validation thì không có gì đáng nói. Chủ yếu là validate xem date có đúng type, format... etc hay không? Framework thì vô số Bean Validation, Fluent...
Database Validation cũng k có gì đáng nói, dùng cái có sẵn của DB là đủ.
Cái rắc rối nằm ở chỗ Business Rule, chỗ này có những cái validation logic nó cần tổ hợp của nhiều Model để xử lý. Hiện em chỉ có giải pháp là ném cmn Exception khi không thỏa điều kiện, còn lại thì cũng chưa biết cách nào tốt hơn. udency:
Vd
Code:
if (product.limit() < user.age()) {
throw new Exception("Underage to buy something... blabla")
}