-มีการทำงานร่วมกับ CDI, JAX-RS, JPA, JSF และอื่นๆ ประกอบด้วย CDI, Method validation, มีการใช้งานร่วมกับ JAX-RS (REST Service) และการสร้าง Error messages โดยใช้ EL expressions
-CDI Alignment
ประกอบด้วย Delegate Bean Validation component lifecycle มีประโยชน์อย่างยิ่งในการปรับปรุง ConstraintValidator
public class ZipCodeValidator implements ConstraintValidator<ZipCode, String> {
    @Inject @France private ZipCodeChecker checker;
    public void initialize(ZipCode zipCode) {}
    public boolean isValid(String value, ConstraintValidationContext context) {
        if (value==null) return true;
        return checker.isZipCodeValid(zipCode); 
    }
}
-ตัวอย่าง Method Validation
@RequestScope public class Client {
    @Inject AccountService service;
    public void createClient() { service.createUser(...); }
}
@ApplicationScoped public class AccountService {
      @NotNull public User createUser(
            @NotEmpty String username,
            String firstname, String lastname,
            @Valid Address home,
            @NotNull @Email String email,
            @Past Date birthDate) {
        // parameters are validated and an exception
        // is raised upon failure
        // business
    }
}
-การใช้งานร่วมกับ JAX-RS
โดยใช้ Bean Validation constraints ด้วย method validation
@Path(“/user”)
public class UserResource {
    @Post
    @Consumes("application/x-www-form-urlencoded")
    public void register(
        @NotEmpty @FormParam(“firstname”) String firstname,
        @NotEmpty @FormParam(“lastname”) String lastname,
        @NotNull @Email @FormParam(“email”) String email) { ... }
    // Works on fields and getters too
}
การสร้าง Error messages โดยใช้ Expression Language
-การเพิ่มความสามารถในการใช้ EL เพื่อตรวจสอบข้อความผิดพลาด
-การเข้าถึงพารามิเตอร์ ข้อจำกัด และการสร้างความคุ้มค่า
-การเพิ่มข้อเสนอที่มีการแปล กรณีการจัดรูปแบบสตริงที่เกินไป
javax.validation.constraints.DecimalMax.message=\
    must be less than ${inclusive == true ? 'or equal to ' : ''}{value}
Resources
-Bean Validation project page
http://beanvalidation.org
-Glassfish 4
https://glassfish.java.net/
Reference : เอกสาร What’s New with Bean Validation in Java EE 7 โดย Reza Rahman (Java EE/GlassFish Evangelist) จาก Oracle ในงาน JavaOne

ไม่มีความคิดเห็น :
แสดงความคิดเห็น