Wednesday, July 15, 2015

Java Frameworks Miscs



Validation
Bean Validation and JSR 303
https://dzone.com/articles/bean-validation-and-jsr-303

http://stackoverflow.com/questions/28702809/how-to-manually-trigger-spring-validation
   <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />

    @Autowired
    private Validator validator;
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#validation-beanvalidation

http://www.codejava.net/frameworks/spring/spring-mvc-form-validation-example-with-bean-validation-api
We will need the validation-api-1.1.0.Final.jar and hibernate-validator-5.0.1.Final.jar files in order to use the Bean Validation API in our Spring MVC application.
    public String doLogin(@Valid User user, BindingResult result) {

@Pattern(regexp="[0-9]*")
@Size(min=5, max=5)
@Constraint(validatedBy = FrenchZipcodeValidator.class)
http://stackoverflow.com/questions/17344473/does-the-following-validation-mean-that-the-field-cannot-be-null
You can read "null elements are considered valid."
Therefore you need to specify @NotNull on the top of your field.
You have two alternatives:
@NotNull 
@Size(min = 2, max = 50)
private Integer age;
Or like Riccardo F. suggested:
@NotNull @Min(13) @Max(110)
private Integer age;
http://docs.jboss.org/hibernate/validator/5.1/reference/en-US/pdf/hibernate_validator_reference.pdf


@Size(min = 10, message =”phone number entered [${validatedValue}] is invalid. It must have at least {min} digits”)
@Size(min = 10, message = “{Size.order.customerName.custom} ${validatedValue}”)
http://blog.codeleak.pl/2014/06/better-error-messages-with-bean.html
@Size(min = 5, message = "\"${validatedValue}\" is too short.") @Size(min = 5, message = "\"${validatedValue}\" is ${validatedValue.length() < 2 ? 'way' : ''} too short.") @Future(message = "The value \"${formatter.format('%1$tY-%1$tm-%1$td', validatedValue)}\" is not in future!")
http://beanvalidation.org/1.0/spec/#validationapi-message

http://hibernate.org/validator/documentation/getting-started/
hibernate-validator need javax.el-api,

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts