SlideShare ist ein Scribd-Unternehmen logo
1 von 17
MyFaces Extensions-Validator
Advanced metadata based JSF validation

                               Part I




            DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                              2
Agenda
•    History
•    Hello MyFaces ExtVal
•    Basic Feature-Overview
•    Requirements & Dependencies
•    Examples
•    External Extensions
•    Showcase (Client-Side Validation)


                DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                  3
History
• Q1 2008
  Private feasibility study for
   – Transparent JPA 1.0 based validation
     (including required fields)
   – Cross-Component validation via annotations
   – Pure metadata based validation
• Q2 2008 Integration in MyFaces
• Q3 2008 Validation platform
• 12.12.08 1. Release

              DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                4
„Hello MyFaces ExtVal“ Showcase




           DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                             5
Features - 1
• Transparent JPA 1.0 based validation
• Cross-component validation
• Zero configuration
  (configuration is just an alternative)
• Client-side validation support
   – Possible integration of 3rd party mechanisms
   – MyFaces Trinidad support
• Generic support of 3rd party component libraries
• Validation exception interception
• Component initialization based on annotations
               DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                 6
Features - 2
• Validation platform
  (Core is independent of specific annotations and
  concrete validation)
   – Custom annotations
   – Extensible and customizable
   – Basis for other extensions
     (e.g.: secure required)
• Dependency injection support (including Spring)
• and more!!!


               DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                 7
Requirements & Dependencies
• Minimal requirements:
  – myfaces-extval-core-*.jar
  – commons-logging*.jar
• Optional:
  – myfaces-extval-property-validation-*.jar
  – myfaces-extval-trinidad-support-*.jar
  – myfaces-extval-generic-support-*.jar
  – myfaces-extval-bean-validation-*.jar (planned)
  – Custom validation modules

              DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                8
Annotation Example - 1.1




           DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                             9
Annotation Example - 1.2




           DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                             10
Validation of ExtVal Annotations
• MyFaces ExtVal jars in the classpath
  – myfaces-extval-core-*.jar
  – myfaces-extval-property-validation-*.jar
• Using MyFaces ExtVal annotations
  – Field
  – Properties




               DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                 11
Validation of JPA Annotations
• MyFaces ExtVal jars in the classpath
  – myfaces-extval-core-*.jar
  – myfaces-extval-property-validation-*.jar
• Using JPA annotations
  – Field
  – Properties




               DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                 12
Optional External Extensions
• Secure required
• Annotation based configuration
   – @StartupListener
   – @ValidationStrategy
   – @MessageResolver
   – @MetaDataTransformer
   – @ComponentInitializer
   – @ProcessedInformationRecorder
   – @RendererInterceptor
   – and more!!!
             DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                               13
Showcase




           Trinidad Support
           (client-side validation)



                       live demonstration


            DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                              14
Agenda of Part II
• Advanced Annotation Based Validation
• Custom Validation Error Messages
  (Message Resolving)
• Validation Exception Interception
• Component Initialization Based on Metadata
• Name Conventions + Alternatives
• Client-Side Validation Based on Annotations
• Dependency Injection Support
            Part 2 and 3 are part of our JSF training!
           Do not hesitate to contact us at info@irian.at
                 DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                   15
Agenda of Part III
•    ExtVal Architecture - The Big Picture
•    Customize Central ExtVal Mechanisms
•    Customized Conventions
•    Custom Validation Infrastructure
•    3rd Party Component Library Integration
•    JSR 303 Integration
•    ExtVal vs. JSR 303 Concepts
             Part 2 and 3 are part of our JSF training!
            Do not hesitate to contact us at info@irian.at
                  DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                    16
Links
• http://svn.apache.org/repos/asf/myfaces/extensi
  ons/validator
• http://wiki.apache.org/myfaces/Extensions/Valid
  ator
• http://issues.apache.org/jira/browse/EXTVAL
• http://os890.blogspot.com
• http://code.google.com/p/os890/source/browse/tr
  unk/java/web/jsf/extval
• http://people.apache.org/~gpetracek/myfaces/ex
  tval

              DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator
11.11.08                                                                17

Weitere ähnliche Inhalte

Was ist angesagt?

Haj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewHaj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewKevin Sutter
 
Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2Rossen Stoyanchev
 
Declarative input validation with JSR 303 and ExtVal
Declarative input validation with JSR 303 and ExtVal Declarative input validation with JSR 303 and ExtVal
Declarative input validation with JSR 303 and ExtVal Bart Kummel
 
Security Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformSecurity Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformMartin Toshev
 
Oracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsOracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsMartin Toshev
 
SpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring TestingSpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring TestingMattias Severson
 
Security Architecture of the Java platform
Security Architecture of the Java platformSecurity Architecture of the Java platform
Security Architecture of the Java platformMartin Toshev
 

Was ist angesagt? (8)

Java EE 6
Java EE 6Java EE 6
Java EE 6
 
Haj 4328-java ee 7 overview
Haj 4328-java ee 7 overviewHaj 4328-java ee 7 overview
Haj 4328-java ee 7 overview
 
Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2
 
Declarative input validation with JSR 303 and ExtVal
Declarative input validation with JSR 303 and ExtVal Declarative input validation with JSR 303 and ExtVal
Declarative input validation with JSR 303 and ExtVal
 
Security Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformSecurity Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java Platform
 
Oracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsOracle Database 12c Attack Vectors
Oracle Database 12c Attack Vectors
 
SpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring TestingSpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring Testing
 
Security Architecture of the Java platform
Security Architecture of the Java platformSecurity Architecture of the Java platform
Security Architecture of the Java platform
 

Andere mochten auch

Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuerydennisdc
 
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionDynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionAlpen-Adria-Universität
 
Intro to Classification: Logistic Regression & SVM
Intro to Classification: Logistic Regression & SVMIntro to Classification: Logistic Regression & SVM
Intro to Classification: Logistic Regression & SVMNYC Predictive Analytics
 
Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Alpen-Adria-Universität
 

Andere mochten auch (6)

Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuery
 
6 Block Modeling
6 Block Modeling6 Block Modeling
6 Block Modeling
 
3 Centrality
3 Centrality3 Centrality
3 Centrality
 
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to ConsumptionDynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
Dynamic Adaptive Streaming over HTTP: From Content Creation to Consumption
 
Intro to Classification: Logistic Regression & SVM
Intro to Classification: Logistic Regression & SVMIntro to Classification: Logistic Regression & SVM
Intro to Classification: Logistic Regression & SVM
 
Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)Dynamic Adaptive Streaming over HTTP (DASH)
Dynamic Adaptive Streaming over HTTP (DASH)
 

Ähnlich wie MyFaces Extensions Validator Part 1 of 3

Forti analyzer vm-v-mware-install-guide-licencia
Forti analyzer vm-v-mware-install-guide-licenciaForti analyzer vm-v-mware-install-guide-licencia
Forti analyzer vm-v-mware-install-guide-licenciaMarco LANDA
 
Thinapp47 packageini reference
Thinapp47 packageini referenceThinapp47 packageini reference
Thinapp47 packageini referenceFirman Indrianto
 
Using Apache Spark for Predicting Degrading and Failing Parts in Aviation
Using Apache Spark for Predicting Degrading and Failing Parts in AviationUsing Apache Spark for Predicting Degrading and Failing Parts in Aviation
Using Apache Spark for Predicting Degrading and Failing Parts in AviationDatabricks
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE
 
LF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDKLF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDKLF_OpenvSwitch
 
Website Testing Practices
Website Testing PracticesWebsite Testing Practices
Website Testing Practicesdeseomar
 
Introduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context BrokerIntroduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context BrokerFermin Galan
 
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)Johann Lombardi
 
FI-Ware Cloud SDC Presentation
FI-Ware Cloud SDC PresentationFI-Ware Cloud SDC Presentation
FI-Ware Cloud SDC PresentationJavier Cerviño
 
Legacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseLegacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseAnatole Tresch
 
Zepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalZepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalMax Pronko
 
Fusion Applications Administration Overview
Fusion Applications Administration OverviewFusion Applications Administration Overview
Fusion Applications Administration OverviewVihangAstik
 
BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)
BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)
BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)Steve Springett
 
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...Martin Peřina
 
Sonar - the ring to rule them all
Sonar - the ring to rule them allSonar - the ring to rule them all
Sonar - the ring to rule them allSebastian Marek
 

Ähnlich wie MyFaces Extensions Validator Part 1 of 3 (20)

Forti analyzer vm-v-mware-install-guide-licencia
Forti analyzer vm-v-mware-install-guide-licenciaForti analyzer vm-v-mware-install-guide-licencia
Forti analyzer vm-v-mware-install-guide-licencia
 
How to debug IoT Agents
How to debug IoT AgentsHow to debug IoT Agents
How to debug IoT Agents
 
Thinapp47 packageini reference
Thinapp47 packageini referenceThinapp47 packageini reference
Thinapp47 packageini reference
 
Improving qa on php projects
Improving qa on php projectsImproving qa on php projects
Improving qa on php projects
 
Using Apache Spark for Predicting Degrading and Failing Parts in Aviation
Using Apache Spark for Predicting Degrading and Failing Parts in AviationUsing Apache Spark for Predicting Degrading and Failing Parts in Aviation
Using Apache Spark for Predicting Degrading and Failing Parts in Aviation
 
SDC presentation (FIWARE Cloud GEi)
SDC presentation (FIWARE Cloud GEi)SDC presentation (FIWARE Cloud GEi)
SDC presentation (FIWARE Cloud GEi)
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
 
LF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDKLF_OVS_17_IPSEC and OVS DPDK
LF_OVS_17_IPSEC and OVS DPDK
 
Website Testing Practices
Website Testing PracticesWebsite Testing Practices
Website Testing Practices
 
Introduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context BrokerIntroduction to FIWARE Cloud & Context Broker
Introduction to FIWARE Cloud & Context Broker
 
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
Introduction to the DAOS Scale-out object store (HLRS Workshop, April 2017)
 
Enabling NFV features in kubernetes
Enabling NFV features in kubernetesEnabling NFV features in kubernetes
Enabling NFV features in kubernetes
 
FI-Ware Cloud SDC Presentation
FI-Ware Cloud SDC PresentationFI-Ware Cloud SDC Presentation
FI-Ware Cloud SDC Presentation
 
Legacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseLegacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the Enterprise
 
Zepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalZepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_Final
 
Fusion Applications Administration Overview
Fusion Applications Administration OverviewFusion Applications Administration Overview
Fusion Applications Administration Overview
 
BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)
BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)
BOMs Away - Why everyone needs a BOM (AppSec Cali 2019)
 
Introduction to vSphere logs
Introduction to vSphere logsIntroduction to vSphere logs
Introduction to vSphere logs
 
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
 
Sonar - the ring to rule them all
Sonar - the ring to rule them allSonar - the ring to rule them all
Sonar - the ring to rule them all
 

Kürzlich hochgeladen

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Kürzlich hochgeladen (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

MyFaces Extensions Validator Part 1 of 3

  • 1.
  • 2. MyFaces Extensions-Validator Advanced metadata based JSF validation Part I DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 2
  • 3. Agenda • History • Hello MyFaces ExtVal • Basic Feature-Overview • Requirements & Dependencies • Examples • External Extensions • Showcase (Client-Side Validation) DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 3
  • 4. History • Q1 2008 Private feasibility study for – Transparent JPA 1.0 based validation (including required fields) – Cross-Component validation via annotations – Pure metadata based validation • Q2 2008 Integration in MyFaces • Q3 2008 Validation platform • 12.12.08 1. Release DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 4
  • 5. „Hello MyFaces ExtVal“ Showcase DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 5
  • 6. Features - 1 • Transparent JPA 1.0 based validation • Cross-component validation • Zero configuration (configuration is just an alternative) • Client-side validation support – Possible integration of 3rd party mechanisms – MyFaces Trinidad support • Generic support of 3rd party component libraries • Validation exception interception • Component initialization based on annotations DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 6
  • 7. Features - 2 • Validation platform (Core is independent of specific annotations and concrete validation) – Custom annotations – Extensible and customizable – Basis for other extensions (e.g.: secure required) • Dependency injection support (including Spring) • and more!!! DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 7
  • 8. Requirements & Dependencies • Minimal requirements: – myfaces-extval-core-*.jar – commons-logging*.jar • Optional: – myfaces-extval-property-validation-*.jar – myfaces-extval-trinidad-support-*.jar – myfaces-extval-generic-support-*.jar – myfaces-extval-bean-validation-*.jar (planned) – Custom validation modules DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 8
  • 9. Annotation Example - 1.1 DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 9
  • 10. Annotation Example - 1.2 DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 10
  • 11. Validation of ExtVal Annotations • MyFaces ExtVal jars in the classpath – myfaces-extval-core-*.jar – myfaces-extval-property-validation-*.jar • Using MyFaces ExtVal annotations – Field – Properties DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 11
  • 12. Validation of JPA Annotations • MyFaces ExtVal jars in the classpath – myfaces-extval-core-*.jar – myfaces-extval-property-validation-*.jar • Using JPA annotations – Field – Properties DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 12
  • 13. Optional External Extensions • Secure required • Annotation based configuration – @StartupListener – @ValidationStrategy – @MessageResolver – @MetaDataTransformer – @ComponentInitializer – @ProcessedInformationRecorder – @RendererInterceptor – and more!!! DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 13
  • 14. Showcase Trinidad Support (client-side validation) live demonstration DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 14
  • 15. Agenda of Part II • Advanced Annotation Based Validation • Custom Validation Error Messages (Message Resolving) • Validation Exception Interception • Component Initialization Based on Metadata • Name Conventions + Alternatives • Client-Side Validation Based on Annotations • Dependency Injection Support Part 2 and 3 are part of our JSF training! Do not hesitate to contact us at info@irian.at DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 15
  • 16. Agenda of Part III • ExtVal Architecture - The Big Picture • Customize Central ExtVal Mechanisms • Customized Conventions • Custom Validation Infrastructure • 3rd Party Component Library Integration • JSR 303 Integration • ExtVal vs. JSR 303 Concepts Part 2 and 3 are part of our JSF training! Do not hesitate to contact us at info@irian.at DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 16
  • 17. Links • http://svn.apache.org/repos/asf/myfaces/extensi ons/validator • http://wiki.apache.org/myfaces/Extensions/Valid ator • http://issues.apache.org/jira/browse/EXTVAL • http://os890.blogspot.com • http://code.google.com/p/os890/source/browse/tr unk/java/web/jsf/extval • http://people.apache.org/~gpetracek/myfaces/ex tval DI (FH) Gerhard Petracek / MyFaces-Extensions-Validator 11.11.08 17