SlideShare a Scribd company logo
TH Technology
Validate Your
Validations:
Both Sides
Now
Karen Cannell
kcannell@thtechnology.com
TH Technology
@thtechnology
TH Technology
About Me …
• TH Technology – Oracle Consulting Services, APEX Focus
• Mechanical/SW Engineer - Analyzed, designed, developed,
converted, upgraded, enhanced legacy & database applications
for 30+ years
• Building Web/APEX applications for Government, Medical,
Engineering industries since HTMLDB beginnings
• Leveraging Oracle, Oracle tools 25+ years
• ODTUG Director, Editor Emeritus, Technical Journal
• Oracle Ace Director
• APress Author
APEX Validations: Both Sides Now
25/3/2020
TH Technology
APEX Validations: Both Sides Now 35/3/2020
TH Technology
5/3/2020 4APEX Validations: Both Sides Now
TH Technology
STAY SAFE
#FlattenTheCurve
5/3/2020 5APEX Validations: Both Sides Now
TH Technology
5/3/2020 6APEX Validations: Both Sides Now
TH Technology
About You …
• APEX Users ?
• APEX Versions ?
• Current Validation Practices??
• Why Are You Here?
APEX Validations: Both Sides Now 75/3/2020
TH Technology
Why Attend This Presentation?
• Why Validate ?
• Where Validate ?
• Validations in APEX
• Items,
• How You Submit, Gotchas
• Interactive Grids
• Submit Options, Gotchas
• Validation Strategy
APEX Validations: Both Sides Now 85/3/2020
Work a Little Harder,
Payoff is Better Data,
Tighter User Interface
Safer User Interface
TH Technology
Agenda
• Why Validate ?
• Database – Server – Client
• Validations in APEX
• Items, Forms
• Interactive Grids
• Gotchas
• APEX Validation Strategy
APEX Validations: Both Sides Now 95/3/2020
TH Technology
Both Sides?
• Database (Tables, Constraints, Triggers)
• Server (APEX Engine)
• Client Interface
5/3/2020 10APEX Validations: Both Sides Now
ALL Sides!
TH Technology
Use Your Database!
• Have a Data Model
• Enforce Constraints
• Enforce Data Types
5/3/2020 11APEX Validations: Both Sides Now
TH Technology
At the Database Level …
• NUMBER(4) vs NUMBER
• VARCHAR2(12) vs VARCHAR2(4000)
• DATE --- Beware of Date Formats
• Beware of Implicit Conversions
5/3/2020 12APEX Validations: Both Sides Now
TH Technology
Data Quality
Why Validate?
APEX Validations: Both Sides Now 135/3/2020
TH Technology
Why Validate?
• Data Quality
• Prevent SQL Injection
• User Experience
• Faster Response for User
• Preserve Client State
5/3/2020 14APEX Validations: Both Sides Now
TH Technology
Where Validate?
1. Database
• Data Types
• Keys
• Constraints
2. Server – On Submit
3. Client – Upon Entry
5/3/2020 15APEX Validations: Both Sides Now
Use Your Database!
TH Technology
Where Validate? When It Happens
1. Client – Upon Entry (Immediate)
2. Server – On Submit
3. Database - When It Hits
• Data Types
• Keys
• Constraints
5/3/2020 16APEX Validations: Both Sides Now
TH Technology
APEX Architecture
5/3/2020 17APEX Validations: Both Sides Now
Client
Server (APEX)
Database
from apex.oracle.com/platform/architecture
TH Technology
What Are Validations?
Data Checks
• Page Item
• Page (Multiple Page Items)
• Column
• Row (Multiple Columns)
5/3/2020 18APEX Validations: Both Sides Now
What Are APEX Validations?
In Your APEX App
TH Technology
APEX Client-Side Validation
• Compatibility Mode 5.1+
5/3/2020 19APEX Validations: Both Sides Now
TH Technology
APEX Client-Side Validation
5/3/2020 20APEX Validations: Both Sides Now
TH Technology
Validation / Validity JS APIs
• apex.page.validate
• apex.page.submit( {validate:true;});
• apex.page.comfirm( {validate:true;})
• apex.item getValidity
• apex.item.setCustomValidity
• apex.message
5/3/2020 21APEX Validations: Both Sides Now
TH Technology
Demo:
Very Simple Item
Validations
APEX Validations: Both Sides Now 225/3/2020
TH Technology
There Are Lots of Validation Options
• Example: “Required”
• Value Required Attribute (Client)
• Required Template (Client)
• Item Not Null Validation (Server)
• Dynamic Action, JS (Client)
Use Simplest (Declarative) First
5/3/2020 23APEX Validations: Both Sides Now
TH Technology
Where You Validate Matters
• Client Side
• Feedback Before Submit
• A Few Declarative Settings
• Dynamic Actions
• Server Side
• Feedback After Submit
• Lots of Declarative Options
Use Both!
5/3/2020 24APEX Validations: Both Sides Now
TH Technology
How You Submit Matters
• Submit
• Dynamic Action → Submit Page
• apex.submit()
• apex.page.submit ({validate:true;})
Know the Difference
Be Consistent
Don’t Leave Holes
5/3/2020 25APEX Validations: Both Sides Now
Don’t
Fire
Client
Side
TH Technology
How You Say It Matters
• Default Error Messages
• data-valid-message
• setCustomValidity
• apex.message
Be Informative
Be Consistent!
5/3/2020 26APEX Validations: Both Sides Now
TH Technology
Where You Say It Matters
• Inline
• Inline and Notification
• Notification
• Error Page
Be Informative
Be Consistent!
5/3/2020 27APEX Validations: Both Sides Now
TH Technology
Declarative
Validations
Do It Declaratively First …
5/3/2020 28APEX Validations: Both Sides Now
TH Technology
Declarative Validations (Easy) Stuff…
• Item Types
• Text, Number, Date Picker
• Minimum, Maximum, Format
• Select List, Popup LOV, Shuttle, Radio Group
• Text Subtypes
• Email
• Phone
• URL
5/3/2020 29APEX Validations: Both Sides Now
TH Technology
Use the Declarative (Easy) Stuff…
• Value Required
• Templates
• Required
• Optional
5/3/2020 30APEX Validations: Both Sides Now
TH Technology
data-valid-message
• Use to Enter a
Custom Error
Message
• Instead of
“Please fill in
<value>.”
5/3/2020 31APEX Validations: Both Sides Now
TH Technology
Use Conditions to Control When …
• Validations – (Server Side)
• Server Side Conditions
• Client Side Conditions
• Dynamic Actions (Client Side)
• Server Side Conditions
• Client Side Conditions
5/3/2020 32APEX Validations: Both Sides Now
TH Technology
Server-Side
Validations
Our Standard APEX Validations …
5/3/2020 33APEX Validations: Both Sides Now
TH Technology
Server Side Validations
• Fire On Submit
• IF all Client Side Validations are OK
• Many Declarative Types
• Many Declarative Conditions
5/3/2020 34APEX Validations: Both Sides Now
TH Technology
Creating a Server-Side Validation
• Simple Page
Item
• Many
Validation
Types!
5/3/2020 35APEX Validations: Both Sides Now
TH Technology
Creating a Server-Side Validation
• Use Declarative
Types First
• PLSQL
Expression,
Function, etc.
Last
5/3/2020 36APEX Validations: Both Sides Now
TH Technology
Validation Conditions
• Server-Side, When Button Pressed
• Server-Side, Condition
• Client Side, JS Expression
Use The Conditions!
→ Simplify Your Validation Code
5/3/2020 37APEX Validations: Both Sides Now
TH Technology
Use The Validation Attributes
• Sequence
• Editable Region (If Validating Item in
a Grid)
• Type
• Always Execute
5/3/2020 38APEX Validations: Both Sides Now
TH Technology
Validation: Error Attributes
• Error Message – Your Consistent Error Message
• Display Location
• Inline w Field and In Notification
• Inline w Field
• Inline in Notification
• On Error Page
• Associated Item
5/3/2020 39APEX Validations: Both Sides Now
TH Technology
Client-Side
Validations
via Declarative Settings and
Dynamic Actions …
5/3/2020 40APEX Validations: Both Sides Now
TH Technology
Client Side Validations
• Declarative
• Required
• HTML5
• Dynamic Action
• Execute JavaScript
5/3/2020 41APEX Validations: Both Sides Now
TH Technology
Validate via Dynamic Actions
• On Change vs. On Lose Focus
• vs Your Requirements
• Use Conditions on the Dynamic
Actions
5/3/2020 42APEX Validations: Both Sides Now
TH Technology
Improve the
Message
Use the JS APIs to Tailor the
Message and Be Consistent
5/3/2020 43APEX Validations: Both Sides Now
TH Technology
Use the Documented JS APIs
• apex.oracle.com/api → JavaScript
APIs
• apex.item
• apex.message
• apex.model
• Interactive Grid APIs
5/3/2020 44APEX Validations: Both Sides Now
TH Technology
Example JS Validate
5/3/2020 45APEX Validations: Both Sides Now
apex.item
TH Technology
Example JS Validate
5/3/2020 46APEX Validations: Both Sides Now
apex.item
Validity
TH Technology
Example JS Validate
5/3/2020 47APEX Validations: Both Sides Now
apex.message for the
uniform message format
TH Technology
Validation in
Interactive Grids
Apply the Same Server-Side/Client
Side Strategy …
5/3/2020 48APEX Validations: Both Sides Now
TH Technology
In General
• Each Column Is An Item
• Validations and Dynamic Actions
Work the Same as Page Items
• :COLUMN_NAME Bind Reference
The Same Stuff Applies!
5/3/2020 49APEX Validations: Both Sides Now
TH Technology
Grid Validation - EName
• EName Must Be Alpha
• Custom Message
5/3/2020 50APEX Validations: Both Sides Now
TH Technology
Example Grid Validation
• Server-Side
Salary Between
100 and 2000
5/3/2020 51APEX Validations: Both Sides Now
TH Technology
Client-Side Grid Validation - Item
• Dynamic Action
• On Change
• Execute JavaScript
5/3/2020 52APEX Validations: Both Sides Now
TH Technology
Grid Validation - Salary
• Client-Side Salary Betw100 and 3000
5/3/2020 53APEX Validations: Both Sides Now
TH Technology
Grid Validation – Dyn Action Salary
• Salary Betw100 and 3000
5/3/2020 54APEX Validations: Both Sides Now
TH Technology
Demo:
Interactive Grid
Validations
Basic Interactive Grid Validations
APEX Validations: Both Sides Now 555/3/2020
TH Technology
Grid Validation - Comm
• Server-Side - Row
Between10% of Salary
and Not > Salary
5/3/2020 56APEX Validations: Both Sides Now
TH Technology
Grid Validation – Client Side -Row
• Dynamic Action
• On Change
• Execute JavaScript
5/3/2020 57APEX Validations: Both Sides Now
TH Technology
Grid Validation – DA - Commission
• 10% Sal < Commission < Salary
5/3/2020 58APEX Validations: Both Sides Now
TH Technology
Why Did My Grid Validation Not Fire?
• Grid Validation Settings
• Created and Modified Rows
• All Submitted Rows
“Submitted Rows”
… Not All Rows
Get Submitted!
5/3/2020 59APEX Validations: Both Sides Now
TH Technology
General Validation
Strategy
Cover All the Bases …
5/3/2020 60APEX Validations: Both Sides Now
TH Technology
General APEX Validation Strategy
• Do It Declaratively First
• Create Server Side
• Create Client Side
• Be Consistent !
• Same Validations
• Same Informative Messages
• Help Gives Same Messages
5/3/2020 61APEX Validations: Both Sides Now
TH Technology
More Validations == More Testing
• Check for Requirements
• Is All Validated That Should Be?
• Check Everything Fires When It Should
• Validation Holes?
• Check User Experience
5/3/2020 62APEX Validations: Both Sides Now
TH Technology
Validate Your Validations ~ Summary
• Database Design – Final Data Check
• Server Side – Final App Check
• Client Side – Immediate Feedback
Take The Time
Secure All Fronts!
5/3/2020 63APEX Validations: Both Sides Now
TH Technology
Some APEX
Validations
Homework ...
APEX Validations: Both Sides Now 5/3/2020 64
TH Technology
APEX Validations ~ Homework
• References
• Sample DB App
• Sample Grids App
• IG Cookbook
• Grids – Learn the
APIs
• Know What Fires
When and Why
• Adjust the Samples
For Your
Requirements
5/3/2020 65APEX Validations: Both Sides Now
TH Technology
Learn More!
• Sample, Productivity Applications
• APEX Video Training
• apex.world
• apex.oracle.com
APEX Validations: Both Sides Now
5/3/2020 66
TH Technology
Comments?
Questions?
STAY SAFE
#FlattenTheCurve
Karen Cannell
kcannell@thtechnology.com
@thtechnology
TH Technology
Thank You
STAY SAFE
#FlattenTheCurve
Karen Cannell
kcannell@thtechnology.com
@thtechnology
TH Technology
Resources
• Oracle APEX Documentation
https://docs.oracle.com/en/database/oracle/application-
express/19.2/htmdb/validating-user-input-in-forms.html#GUID-8BA81FD5-
E138-494D-9F8E-35D5A370E31A
• J Snyders, Client Side Validation
https://hardlikesoftware.com/weblog/2017/05/10/apex-client-side-
validation/V….
https://community.oracle.com/community/database/developer-tools/oracle-jet
• M Mulvaney Client Side Validation
https://explorer.co.uk/client-side-validations/
• M Mulvaney Grid Validations
https://explorer.co.uk/the-numerous-options-for-apex-18-1-interactive-grid-validations/
• Translate Client Side Messages
http://apexbyg.blogspot.com/2017/02/apex-51-translate-html5-client-side.html
APEX Validations: Both Sides Now 695/3/2020
TH Technology
Exceptions
• https://explorer.co.uk/the-
numerous-options-for-apex-18-1-
interactive-grid-validations/
• Sometimes Error Link No Good
5/3/2020 70APEX Validations: Both Sides Now
TH Technology
Client Side Messaging
• Display Messages w/o Full Page Reload
• Change in Behavior in App w Old Themes
• Reload on Submit: Only For Success vs Always
• Universal Theme
• Anthony Rayner Post For More Details
https://www.orafaq.com/aggregator/sources/1
64
5/3/2020 71APEX Validations: Both Sides Now

More Related Content

What's hot

Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)
Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)
Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)
Karen Cannell
 
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted Malaska
Spark Summit
 
Oracle Forms to APEX conversion tool
Oracle Forms to APEX conversion toolOracle Forms to APEX conversion tool
Oracle Forms to APEX conversion tool
Scott Wesley
 
JavaScript Tutorial
JavaScript  TutorialJavaScript  Tutorial
JavaScript Tutorial
Bui Kiet
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
Markus Lanthaler
 
Oracle APEX Dynamic Actions
Oracle APEX Dynamic ActionsOracle APEX Dynamic Actions
Oracle APEX Dynamic Actions
Anthony Rayner
 
jQuery from the very beginning
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginning
Anis Ahmad
 
Php with mysql ppt
Php with mysql pptPhp with mysql ppt
Php with mysql ppt
Rajamanickam Gomathijayam
 
Xampp Ppt
Xampp PptXampp Ppt
Xampp Ppt
Ratna Prashanth
 
Shaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal ThemeShaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal Theme
Insum Solutions
 
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationOracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Dimitri Gielis
 
FYBSC IT Web Programming Unit IV PHP and MySQL
FYBSC IT Web Programming Unit IV  PHP and MySQLFYBSC IT Web Programming Unit IV  PHP and MySQL
FYBSC IT Web Programming Unit IV PHP and MySQL
Arti Parab Academics
 
Beyond 'Set it and Forget it': Proactively managing your EZproxy server
Beyond 'Set it and Forget it': Proactively managing your EZproxy serverBeyond 'Set it and Forget it': Proactively managing your EZproxy server
Beyond 'Set it and Forget it': Proactively managing your EZproxy server
NASIG
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
Rob Eisenberg
 
GraphQL
GraphQLGraphQL
GraphQL
Joel Corrêa
 
Open Source Reporting Tool Comparison
Open Source Reporting Tool ComparisonOpen Source Reporting Tool Comparison
Open Source Reporting Tool Comparison
Rogue Wave Software
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic Tags
Bruce Kyle
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
Sander Mak (@Sander_Mak)
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSS
John Calvert
 
SSO With APEX and ADFS the weblogic way
SSO With APEX and ADFS the weblogic waySSO With APEX and ADFS the weblogic way
SSO With APEX and ADFS the weblogic way
makker_nl
 

What's hot (20)

Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)
Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)
Going to the Grid: Tabular Form Edition (Oracle APEX Editable Interactive Grids)
 
Spark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted MalaskaSpark Summit EU talk by Ted Malaska
Spark Summit EU talk by Ted Malaska
 
Oracle Forms to APEX conversion tool
Oracle Forms to APEX conversion toolOracle Forms to APEX conversion tool
Oracle Forms to APEX conversion tool
 
JavaScript Tutorial
JavaScript  TutorialJavaScript  Tutorial
JavaScript Tutorial
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
 
Oracle APEX Dynamic Actions
Oracle APEX Dynamic ActionsOracle APEX Dynamic Actions
Oracle APEX Dynamic Actions
 
jQuery from the very beginning
jQuery from the very beginningjQuery from the very beginning
jQuery from the very beginning
 
Php with mysql ppt
Php with mysql pptPhp with mysql ppt
Php with mysql ppt
 
Xampp Ppt
Xampp PptXampp Ppt
Xampp Ppt
 
Shaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal ThemeShaping Up Theme Roller Beyond Universal Theme
Shaping Up Theme Roller Beyond Universal Theme
 
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationOracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integration
 
FYBSC IT Web Programming Unit IV PHP and MySQL
FYBSC IT Web Programming Unit IV  PHP and MySQLFYBSC IT Web Programming Unit IV  PHP and MySQL
FYBSC IT Web Programming Unit IV PHP and MySQL
 
Beyond 'Set it and Forget it': Proactively managing your EZproxy server
Beyond 'Set it and Forget it': Proactively managing your EZproxy serverBeyond 'Set it and Forget it': Proactively managing your EZproxy server
Beyond 'Set it and Forget it': Proactively managing your EZproxy server
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
 
GraphQL
GraphQLGraphQL
GraphQL
 
Open Source Reporting Tool Comparison
Open Source Reporting Tool ComparisonOpen Source Reporting Tool Comparison
Open Source Reporting Tool Comparison
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic Tags
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the painTypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSS
 
SSO With APEX and ADFS the weblogic way
SSO With APEX and ADFS the weblogic waySSO With APEX and ADFS the weblogic way
SSO With APEX and ADFS the weblogic way
 

Similar to Validate Your Validations: Both Sides Now

DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)
Blake Irvine
 
UTOUG Training Days 2019 Voyage to Visual Builder Cloud Service
UTOUG Training Days 2019 Voyage to Visual Builder Cloud ServiceUTOUG Training Days 2019 Voyage to Visual Builder Cloud Service
UTOUG Training Days 2019 Voyage to Visual Builder Cloud Service
Karen Cannell
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
TechWell
 
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
Karen Cannell
 
20160913_AlteryxPHX.PPTX
20160913_AlteryxPHX.PPTX20160913_AlteryxPHX.PPTX
20160913_AlteryxPHX.PPTX
MichelleSaver
 
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
Low Code Lowdown:  APEX vs Visual Builder: Which is For You? Low Code Lowdown:  APEX vs Visual Builder: Which is For You?
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
Karen Cannell
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
Testplant
 
Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...
Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...
Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...
Databricks
 
Oracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCSOracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCS
Karen Cannell
 
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
Daniel Bryant
 
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
Daniel Bryant
 
DOES16 London - Better Faster Cheaper .. How?
DOES16 London - Better Faster Cheaper .. How? DOES16 London - Better Faster Cheaper .. How?
DOES16 London - Better Faster Cheaper .. How?
John Willis
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
Sameh El-Ashry
 
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It? Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Karen Cannell
 
How Totango uses Apache Spark
How Totango uses Apache SparkHow Totango uses Apache Spark
How Totango uses Apache Spark
Oren Raboy
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Amazon Web Services
 
Utah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive GridsUtah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Karen Cannell
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
Georgina Tilby
 
Scalenics overview
Scalenics overviewScalenics overview
Scalenics overview
Toru Murasawa
 

Similar to Validate Your Validations: Both Sides Now (20)

DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)DATA @ NFLX (Tableau Conference 2014 Presentation)
DATA @ NFLX (Tableau Conference 2014 Presentation)
 
UTOUG Training Days 2019 Voyage to Visual Builder Cloud Service
UTOUG Training Days 2019 Voyage to Visual Builder Cloud ServiceUTOUG Training Days 2019 Voyage to Visual Builder Cloud Service
UTOUG Training Days 2019 Voyage to Visual Builder Cloud Service
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
 
20160913_AlteryxPHX.PPTX
20160913_AlteryxPHX.PPTX20160913_AlteryxPHX.PPTX
20160913_AlteryxPHX.PPTX
 
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
Low Code Lowdown:  APEX vs Visual Builder: Which is For You? Low Code Lowdown:  APEX vs Visual Builder: Which is For You?
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...
Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...
Operationalizing Machine Learning—Managing Provenance from Raw Data to Predic...
 
Oracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCSOracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCS
 
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
 
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
GOTOpia 2020: "The Past, Present, and Future of Cloud Native API Gateways"
 
DOES16 London - Better Faster Cheaper .. How?
DOES16 London - Better Faster Cheaper .. How? DOES16 London - Better Faster Cheaper .. How?
DOES16 London - Better Faster Cheaper .. How?
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It? Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
 
How Totango uses Apache Spark
How Totango uses Apache SparkHow Totango uses Apache Spark
How Totango uses Apache Spark
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
 
Utah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive GridsUtah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
 
Small is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case DesignSmall is Beautiful- Fully Automate your Test Case Design
Small is Beautiful- Fully Automate your Test Case Design
 
Scalenics overview
Scalenics overviewScalenics overview
Scalenics overview
 

More from Karen Cannell

APEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for SanityAPEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for Sanity
Karen Cannell
 
APEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and SanityAPEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and Sanity
Karen Cannell
 
Boston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your GridsBoston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your Grids
Karen Cannell
 
APEX JET Charts: Data Viz now!
APEX JET Charts:  Data Viz now!APEX JET Charts:  Data Viz now!
APEX JET Charts: Data Viz now!
Karen Cannell
 
Mentors and Mentoring: Steps to Take When You are Stuck
Mentors and Mentoring: Steps to Take When You are StuckMentors and Mentoring: Steps to Take When You are Stuck
Mentors and Mentoring: Steps to Take When You are Stuck
Karen Cannell
 
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
Karen Cannell
 
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
Karen Cannell
 
APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2
Karen Cannell
 
APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1
Karen Cannell
 
East Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz NowEast Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz Now
Karen Cannell
 
How to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUGHow to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUG
Karen Cannell
 
How to Load Data, Revisited
How to Load Data, RevisitedHow to Load Data, Revisited
How to Load Data, Revisited
Karen Cannell
 
APEX 5.1 Interactive Grid: What it Means for You and Your Users
APEX 5.1 Interactive Grid: What it Means for You and Your UsersAPEX 5.1 Interactive Grid: What it Means for You and Your Users
APEX 5.1 Interactive Grid: What it Means for You and Your Users
Karen Cannell
 
APEX 5 IR: Guts & Performance
APEX 5 IR:  Guts & PerformanceAPEX 5 IR:  Guts & Performance
APEX 5 IR: Guts & Performance
Karen Cannell
 
APEX 5 IR Guts and Performance
APEX 5 IR Guts and PerformanceAPEX 5 IR Guts and Performance
APEX 5 IR Guts and Performance
Karen Cannell
 
APEX 5 Interactive Reports: Guts and PErformance
APEX 5 Interactive Reports: Guts and PErformanceAPEX 5 Interactive Reports: Guts and PErformance
APEX 5 Interactive Reports: Guts and PErformance
Karen Cannell
 
Migrate BI to APEX 5: Are We There Yet?
Migrate BI to APEX 5: Are We There Yet?Migrate BI to APEX 5: Are We There Yet?
Migrate BI to APEX 5: Are We There Yet?
Karen Cannell
 
RTF Primer: Building and RTF Document
RTF Primer:  Building and RTF DocumentRTF Primer:  Building and RTF Document
RTF Primer: Building and RTF Document
Karen Cannell
 
Migrate BI to APEX 5
Migrate BI to APEX 5Migrate BI to APEX 5
Migrate BI to APEX 5
Karen Cannell
 
APEX 5 Interactive Reports: Deep Dive and Upgrade Advice
APEX 5 Interactive Reports: Deep Dive and Upgrade AdviceAPEX 5 Interactive Reports: Deep Dive and Upgrade Advice
APEX 5 Interactive Reports: Deep Dive and Upgrade Advice
Karen Cannell
 

More from Karen Cannell (20)

APEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for SanityAPEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for Sanity
 
APEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and SanityAPEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and Sanity
 
Boston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your GridsBoston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your Grids
 
APEX JET Charts: Data Viz now!
APEX JET Charts:  Data Viz now!APEX JET Charts:  Data Viz now!
APEX JET Charts: Data Viz now!
 
Mentors and Mentoring: Steps to Take When You are Stuck
Mentors and Mentoring: Steps to Take When You are StuckMentors and Mentoring: Steps to Take When You are Stuck
Mentors and Mentoring: Steps to Take When You are Stuck
 
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
 
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
 
APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2
 
APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1
 
East Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz NowEast Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz Now
 
How to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUGHow to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUG
 
How to Load Data, Revisited
How to Load Data, RevisitedHow to Load Data, Revisited
How to Load Data, Revisited
 
APEX 5.1 Interactive Grid: What it Means for You and Your Users
APEX 5.1 Interactive Grid: What it Means for You and Your UsersAPEX 5.1 Interactive Grid: What it Means for You and Your Users
APEX 5.1 Interactive Grid: What it Means for You and Your Users
 
APEX 5 IR: Guts & Performance
APEX 5 IR:  Guts & PerformanceAPEX 5 IR:  Guts & Performance
APEX 5 IR: Guts & Performance
 
APEX 5 IR Guts and Performance
APEX 5 IR Guts and PerformanceAPEX 5 IR Guts and Performance
APEX 5 IR Guts and Performance
 
APEX 5 Interactive Reports: Guts and PErformance
APEX 5 Interactive Reports: Guts and PErformanceAPEX 5 Interactive Reports: Guts and PErformance
APEX 5 Interactive Reports: Guts and PErformance
 
Migrate BI to APEX 5: Are We There Yet?
Migrate BI to APEX 5: Are We There Yet?Migrate BI to APEX 5: Are We There Yet?
Migrate BI to APEX 5: Are We There Yet?
 
RTF Primer: Building and RTF Document
RTF Primer:  Building and RTF DocumentRTF Primer:  Building and RTF Document
RTF Primer: Building and RTF Document
 
Migrate BI to APEX 5
Migrate BI to APEX 5Migrate BI to APEX 5
Migrate BI to APEX 5
 
APEX 5 Interactive Reports: Deep Dive and Upgrade Advice
APEX 5 Interactive Reports: Deep Dive and Upgrade AdviceAPEX 5 Interactive Reports: Deep Dive and Upgrade Advice
APEX 5 Interactive Reports: Deep Dive and Upgrade Advice
 

Recently uploaded

14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 

Recently uploaded (20)

14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 

Validate Your Validations: Both Sides Now

  • 1. TH Technology Validate Your Validations: Both Sides Now Karen Cannell kcannell@thtechnology.com TH Technology @thtechnology
  • 2. TH Technology About Me … • TH Technology – Oracle Consulting Services, APEX Focus • Mechanical/SW Engineer - Analyzed, designed, developed, converted, upgraded, enhanced legacy & database applications for 30+ years • Building Web/APEX applications for Government, Medical, Engineering industries since HTMLDB beginnings • Leveraging Oracle, Oracle tools 25+ years • ODTUG Director, Editor Emeritus, Technical Journal • Oracle Ace Director • APress Author APEX Validations: Both Sides Now 25/3/2020
  • 3. TH Technology APEX Validations: Both Sides Now 35/3/2020
  • 4. TH Technology 5/3/2020 4APEX Validations: Both Sides Now
  • 5. TH Technology STAY SAFE #FlattenTheCurve 5/3/2020 5APEX Validations: Both Sides Now
  • 6. TH Technology 5/3/2020 6APEX Validations: Both Sides Now
  • 7. TH Technology About You … • APEX Users ? • APEX Versions ? • Current Validation Practices?? • Why Are You Here? APEX Validations: Both Sides Now 75/3/2020
  • 8. TH Technology Why Attend This Presentation? • Why Validate ? • Where Validate ? • Validations in APEX • Items, • How You Submit, Gotchas • Interactive Grids • Submit Options, Gotchas • Validation Strategy APEX Validations: Both Sides Now 85/3/2020 Work a Little Harder, Payoff is Better Data, Tighter User Interface Safer User Interface
  • 9. TH Technology Agenda • Why Validate ? • Database – Server – Client • Validations in APEX • Items, Forms • Interactive Grids • Gotchas • APEX Validation Strategy APEX Validations: Both Sides Now 95/3/2020
  • 10. TH Technology Both Sides? • Database (Tables, Constraints, Triggers) • Server (APEX Engine) • Client Interface 5/3/2020 10APEX Validations: Both Sides Now ALL Sides!
  • 11. TH Technology Use Your Database! • Have a Data Model • Enforce Constraints • Enforce Data Types 5/3/2020 11APEX Validations: Both Sides Now
  • 12. TH Technology At the Database Level … • NUMBER(4) vs NUMBER • VARCHAR2(12) vs VARCHAR2(4000) • DATE --- Beware of Date Formats • Beware of Implicit Conversions 5/3/2020 12APEX Validations: Both Sides Now
  • 13. TH Technology Data Quality Why Validate? APEX Validations: Both Sides Now 135/3/2020
  • 14. TH Technology Why Validate? • Data Quality • Prevent SQL Injection • User Experience • Faster Response for User • Preserve Client State 5/3/2020 14APEX Validations: Both Sides Now
  • 15. TH Technology Where Validate? 1. Database • Data Types • Keys • Constraints 2. Server – On Submit 3. Client – Upon Entry 5/3/2020 15APEX Validations: Both Sides Now Use Your Database!
  • 16. TH Technology Where Validate? When It Happens 1. Client – Upon Entry (Immediate) 2. Server – On Submit 3. Database - When It Hits • Data Types • Keys • Constraints 5/3/2020 16APEX Validations: Both Sides Now
  • 17. TH Technology APEX Architecture 5/3/2020 17APEX Validations: Both Sides Now Client Server (APEX) Database from apex.oracle.com/platform/architecture
  • 18. TH Technology What Are Validations? Data Checks • Page Item • Page (Multiple Page Items) • Column • Row (Multiple Columns) 5/3/2020 18APEX Validations: Both Sides Now What Are APEX Validations? In Your APEX App
  • 19. TH Technology APEX Client-Side Validation • Compatibility Mode 5.1+ 5/3/2020 19APEX Validations: Both Sides Now
  • 20. TH Technology APEX Client-Side Validation 5/3/2020 20APEX Validations: Both Sides Now
  • 21. TH Technology Validation / Validity JS APIs • apex.page.validate • apex.page.submit( {validate:true;}); • apex.page.comfirm( {validate:true;}) • apex.item getValidity • apex.item.setCustomValidity • apex.message 5/3/2020 21APEX Validations: Both Sides Now
  • 22. TH Technology Demo: Very Simple Item Validations APEX Validations: Both Sides Now 225/3/2020
  • 23. TH Technology There Are Lots of Validation Options • Example: “Required” • Value Required Attribute (Client) • Required Template (Client) • Item Not Null Validation (Server) • Dynamic Action, JS (Client) Use Simplest (Declarative) First 5/3/2020 23APEX Validations: Both Sides Now
  • 24. TH Technology Where You Validate Matters • Client Side • Feedback Before Submit • A Few Declarative Settings • Dynamic Actions • Server Side • Feedback After Submit • Lots of Declarative Options Use Both! 5/3/2020 24APEX Validations: Both Sides Now
  • 25. TH Technology How You Submit Matters • Submit • Dynamic Action → Submit Page • apex.submit() • apex.page.submit ({validate:true;}) Know the Difference Be Consistent Don’t Leave Holes 5/3/2020 25APEX Validations: Both Sides Now Don’t Fire Client Side
  • 26. TH Technology How You Say It Matters • Default Error Messages • data-valid-message • setCustomValidity • apex.message Be Informative Be Consistent! 5/3/2020 26APEX Validations: Both Sides Now
  • 27. TH Technology Where You Say It Matters • Inline • Inline and Notification • Notification • Error Page Be Informative Be Consistent! 5/3/2020 27APEX Validations: Both Sides Now
  • 28. TH Technology Declarative Validations Do It Declaratively First … 5/3/2020 28APEX Validations: Both Sides Now
  • 29. TH Technology Declarative Validations (Easy) Stuff… • Item Types • Text, Number, Date Picker • Minimum, Maximum, Format • Select List, Popup LOV, Shuttle, Radio Group • Text Subtypes • Email • Phone • URL 5/3/2020 29APEX Validations: Both Sides Now
  • 30. TH Technology Use the Declarative (Easy) Stuff… • Value Required • Templates • Required • Optional 5/3/2020 30APEX Validations: Both Sides Now
  • 31. TH Technology data-valid-message • Use to Enter a Custom Error Message • Instead of “Please fill in <value>.” 5/3/2020 31APEX Validations: Both Sides Now
  • 32. TH Technology Use Conditions to Control When … • Validations – (Server Side) • Server Side Conditions • Client Side Conditions • Dynamic Actions (Client Side) • Server Side Conditions • Client Side Conditions 5/3/2020 32APEX Validations: Both Sides Now
  • 33. TH Technology Server-Side Validations Our Standard APEX Validations … 5/3/2020 33APEX Validations: Both Sides Now
  • 34. TH Technology Server Side Validations • Fire On Submit • IF all Client Side Validations are OK • Many Declarative Types • Many Declarative Conditions 5/3/2020 34APEX Validations: Both Sides Now
  • 35. TH Technology Creating a Server-Side Validation • Simple Page Item • Many Validation Types! 5/3/2020 35APEX Validations: Both Sides Now
  • 36. TH Technology Creating a Server-Side Validation • Use Declarative Types First • PLSQL Expression, Function, etc. Last 5/3/2020 36APEX Validations: Both Sides Now
  • 37. TH Technology Validation Conditions • Server-Side, When Button Pressed • Server-Side, Condition • Client Side, JS Expression Use The Conditions! → Simplify Your Validation Code 5/3/2020 37APEX Validations: Both Sides Now
  • 38. TH Technology Use The Validation Attributes • Sequence • Editable Region (If Validating Item in a Grid) • Type • Always Execute 5/3/2020 38APEX Validations: Both Sides Now
  • 39. TH Technology Validation: Error Attributes • Error Message – Your Consistent Error Message • Display Location • Inline w Field and In Notification • Inline w Field • Inline in Notification • On Error Page • Associated Item 5/3/2020 39APEX Validations: Both Sides Now
  • 40. TH Technology Client-Side Validations via Declarative Settings and Dynamic Actions … 5/3/2020 40APEX Validations: Both Sides Now
  • 41. TH Technology Client Side Validations • Declarative • Required • HTML5 • Dynamic Action • Execute JavaScript 5/3/2020 41APEX Validations: Both Sides Now
  • 42. TH Technology Validate via Dynamic Actions • On Change vs. On Lose Focus • vs Your Requirements • Use Conditions on the Dynamic Actions 5/3/2020 42APEX Validations: Both Sides Now
  • 43. TH Technology Improve the Message Use the JS APIs to Tailor the Message and Be Consistent 5/3/2020 43APEX Validations: Both Sides Now
  • 44. TH Technology Use the Documented JS APIs • apex.oracle.com/api → JavaScript APIs • apex.item • apex.message • apex.model • Interactive Grid APIs 5/3/2020 44APEX Validations: Both Sides Now
  • 45. TH Technology Example JS Validate 5/3/2020 45APEX Validations: Both Sides Now apex.item
  • 46. TH Technology Example JS Validate 5/3/2020 46APEX Validations: Both Sides Now apex.item Validity
  • 47. TH Technology Example JS Validate 5/3/2020 47APEX Validations: Both Sides Now apex.message for the uniform message format
  • 48. TH Technology Validation in Interactive Grids Apply the Same Server-Side/Client Side Strategy … 5/3/2020 48APEX Validations: Both Sides Now
  • 49. TH Technology In General • Each Column Is An Item • Validations and Dynamic Actions Work the Same as Page Items • :COLUMN_NAME Bind Reference The Same Stuff Applies! 5/3/2020 49APEX Validations: Both Sides Now
  • 50. TH Technology Grid Validation - EName • EName Must Be Alpha • Custom Message 5/3/2020 50APEX Validations: Both Sides Now
  • 51. TH Technology Example Grid Validation • Server-Side Salary Between 100 and 2000 5/3/2020 51APEX Validations: Both Sides Now
  • 52. TH Technology Client-Side Grid Validation - Item • Dynamic Action • On Change • Execute JavaScript 5/3/2020 52APEX Validations: Both Sides Now
  • 53. TH Technology Grid Validation - Salary • Client-Side Salary Betw100 and 3000 5/3/2020 53APEX Validations: Both Sides Now
  • 54. TH Technology Grid Validation – Dyn Action Salary • Salary Betw100 and 3000 5/3/2020 54APEX Validations: Both Sides Now
  • 55. TH Technology Demo: Interactive Grid Validations Basic Interactive Grid Validations APEX Validations: Both Sides Now 555/3/2020
  • 56. TH Technology Grid Validation - Comm • Server-Side - Row Between10% of Salary and Not > Salary 5/3/2020 56APEX Validations: Both Sides Now
  • 57. TH Technology Grid Validation – Client Side -Row • Dynamic Action • On Change • Execute JavaScript 5/3/2020 57APEX Validations: Both Sides Now
  • 58. TH Technology Grid Validation – DA - Commission • 10% Sal < Commission < Salary 5/3/2020 58APEX Validations: Both Sides Now
  • 59. TH Technology Why Did My Grid Validation Not Fire? • Grid Validation Settings • Created and Modified Rows • All Submitted Rows “Submitted Rows” … Not All Rows Get Submitted! 5/3/2020 59APEX Validations: Both Sides Now
  • 60. TH Technology General Validation Strategy Cover All the Bases … 5/3/2020 60APEX Validations: Both Sides Now
  • 61. TH Technology General APEX Validation Strategy • Do It Declaratively First • Create Server Side • Create Client Side • Be Consistent ! • Same Validations • Same Informative Messages • Help Gives Same Messages 5/3/2020 61APEX Validations: Both Sides Now
  • 62. TH Technology More Validations == More Testing • Check for Requirements • Is All Validated That Should Be? • Check Everything Fires When It Should • Validation Holes? • Check User Experience 5/3/2020 62APEX Validations: Both Sides Now
  • 63. TH Technology Validate Your Validations ~ Summary • Database Design – Final Data Check • Server Side – Final App Check • Client Side – Immediate Feedback Take The Time Secure All Fronts! 5/3/2020 63APEX Validations: Both Sides Now
  • 64. TH Technology Some APEX Validations Homework ... APEX Validations: Both Sides Now 5/3/2020 64
  • 65. TH Technology APEX Validations ~ Homework • References • Sample DB App • Sample Grids App • IG Cookbook • Grids – Learn the APIs • Know What Fires When and Why • Adjust the Samples For Your Requirements 5/3/2020 65APEX Validations: Both Sides Now
  • 66. TH Technology Learn More! • Sample, Productivity Applications • APEX Video Training • apex.world • apex.oracle.com APEX Validations: Both Sides Now 5/3/2020 66
  • 67. TH Technology Comments? Questions? STAY SAFE #FlattenTheCurve Karen Cannell kcannell@thtechnology.com @thtechnology
  • 68. TH Technology Thank You STAY SAFE #FlattenTheCurve Karen Cannell kcannell@thtechnology.com @thtechnology
  • 69. TH Technology Resources • Oracle APEX Documentation https://docs.oracle.com/en/database/oracle/application- express/19.2/htmdb/validating-user-input-in-forms.html#GUID-8BA81FD5- E138-494D-9F8E-35D5A370E31A • J Snyders, Client Side Validation https://hardlikesoftware.com/weblog/2017/05/10/apex-client-side- validation/V…. https://community.oracle.com/community/database/developer-tools/oracle-jet • M Mulvaney Client Side Validation https://explorer.co.uk/client-side-validations/ • M Mulvaney Grid Validations https://explorer.co.uk/the-numerous-options-for-apex-18-1-interactive-grid-validations/ • Translate Client Side Messages http://apexbyg.blogspot.com/2017/02/apex-51-translate-html5-client-side.html APEX Validations: Both Sides Now 695/3/2020
  • 71. TH Technology Client Side Messaging • Display Messages w/o Full Page Reload • Change in Behavior in App w Old Themes • Reload on Submit: Only For Success vs Always • Universal Theme • Anthony Rayner Post For More Details https://www.orafaq.com/aggregator/sources/1 64 5/3/2020 71APEX Validations: Both Sides Now