{"id":1661,"date":"2015-10-13T23:03:06","date_gmt":"2015-10-13T21:03:06","guid":{"rendered":"http:\/\/codingexplained.com\/?p=1661"},"modified":"2017-06-11T19:11:04","modified_gmt":"2017-06-11T17:11:04","slug":"validate-single-field-hibernate-validator","status":"publish","type":"post","link":"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator","title":{"rendered":"Validate Single Field with Hibernate Validator"},"content":{"rendered":"<p><em>Please note that the following code\u00a0examples exclusively use Java&#8217;s validation API, so these examples are in no way limited to Hibernate Validator. Hibernate Validator is merely used as the implementation of the used interfaces, but other implementations can be used as well.<\/em><\/p>\n<p>Validating a single field with Hibernate Validator is easy. Suppose that you have an instance of a <span class=\"code\">Company<\/span> class which contains validation constraints\u00a0denoted by annotations, then you can do the following.<\/p>\n<pre><code class=\"java\">Company company = new Company();\r\n\/\/\u00a0Set properties on company\r\n\r\nValidatorFactory factory = Validation.buildDefaultValidatorFactory();\r\nValidator validator = factory.getValidator();\r\n\r\nSet&lt;ConstraintViolation&lt;Company&gt;&gt; errors = validator.validateProperty(company, \"phoneNumber\");<\/code><\/pre>\n<p>The above obtains an instance of the <span class=\"code\">Validator<\/span> interface by using a factory to instantiate a concrete implementation. The <span class=\"code\">validateProperty<\/span> method is used to validate a particular property (in this case, <span class=\"code\">phoneNumber<\/span>) on an object with the value that the property has on the object. A set of <span class=\"code\">ConstraintViolation<\/span> objects are returned &#8211; one instance per error, or an empty set if the value did not violate any\u00a0validation constraints. Of course you can then check whether or not any validation constraints were violated as such:<\/p>\n<pre><code class=\"java\">if (errors.isEmpty()) {\r\n     \/\/ Everything is OK!\r\n} else {\r\n     \/\/ todo: handle errors\r\n}<\/code><\/pre>\n<h2>Validating an Entire Object<\/h2>\n<p>It is also very easy to validate all of the\u00a0values of an object against the constraints on the entire object, rather than just for a specific property. This can be done as in the below example.<\/p>\n<pre><code class=\"java\">Company company = new Company();\r\n\/\/ Set properties on company\r\n\r\nValidatorFactory factory = Validation.buildDefaultValidatorFactory();\r\nValidator validator = factory.getValidator();\r\n\r\nSet&lt;ConstraintViolation&lt;Company&gt;&gt; errors = validator.validate(company);<\/code><\/pre>\n<h2>Validating Property against Dynamic Value<\/h2>\n<p>Another useful feature in Java&#8217;s validation API is that\u00a0one can validate a given property of an object against a provided value; not the value that exists for the property on the object.<\/p>\n<pre><code class=\"java\">Company company = new Company();\r\n\/\/ Set properties on company\r\n\r\nValidatorFactory factory = Validation.buildDefaultValidatorFactory();\r\nValidator validator = factory.getValidator();\r\n\r\nSet&lt;ConstraintViolation&lt;Company&gt;&gt; errors =\u00a0validator.validateValue(Company.class, \"phoneNumber\", \"12345678\");<\/code><\/pre>\n<p>Here we validate a value that is passed as an argument rather than the value that is set for the property on the object. This is quite useful if you want to validate a given value before actually setting it on an object.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Please note that the following code\u00a0examples exclusively use Java&#8217;s validation API, so these examples are in no way limited to Hibernate Validator. Hibernate Validator is merely used as the implementation of the used interfaces, but other implementations can be used as well. Validating a single field with Hibernate Validator is easy. Suppose that you have&hellip; <a href=\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator\" class=\"more-link\">read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[97],"tags":[99,102,42],"series":[],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Validate Single Field with Hibernate Validator<\/title>\n<meta name=\"description\" content=\"Validating a single field or property with Hibernate Validator is easy. See examples of how to do this with Java&#039;s validation API.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validate Single Field with Hibernate Validator\" \/>\n<meta property=\"og:description\" content=\"Validating a single field or property with Hibernate Validator is easy. See examples of how to do this with Java&#039;s validation API.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator\" \/>\n<meta property=\"og:site_name\" content=\"Coding Explained\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/codingexplained\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/codingexplained\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-13T21:03:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-06-11T17:11:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codingexplained.com\/wp-content\/uploads\/2015\/11\/codingexplained-fb-promote.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"444\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Bo Andersen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@codingexplained\" \/>\n<meta name=\"twitter:site\" content=\"@codingexplained\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bo Andersen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator\",\"url\":\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator\",\"name\":\"Validate Single Field with Hibernate Validator\",\"isPartOf\":{\"@id\":\"https:\/\/codingexplained.com\/#website\"},\"datePublished\":\"2015-10-13T21:03:06+00:00\",\"dateModified\":\"2017-06-11T17:11:04+00:00\",\"author\":{\"@id\":\"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d\"},\"description\":\"Validating a single field or property with Hibernate Validator is easy. See examples of how to do this with Java's validation API.\",\"breadcrumb\":{\"@id\":\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codingexplained.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validate Single Field with Hibernate Validator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codingexplained.com\/#website\",\"url\":\"https:\/\/codingexplained.com\/\",\"name\":\"Coding Explained\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codingexplained.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d\",\"name\":\"Bo Andersen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codingexplained.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g\",\"caption\":\"Bo Andersen\"},\"description\":\"I am a back-end web developer with a passion for open source technologies. I have been a PHP developer for many years, and also have experience with Java and Spring Framework. I currently work full time as a lead developer. Apart from that, I also spend time on making online courses, so be sure to check those out!\",\"sameAs\":[\"https:\/\/codingexplained.com\",\"https:\/\/www.facebook.com\/codingexplained\",\"https:\/\/www.linkedin.com\/in\/ba0708\",\"https:\/\/twitter.com\/codingexplained\",\"https:\/\/www.youtube.com\/c\/codingexplained\"],\"url\":\"https:\/\/codingexplained.com\/author\/andy\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Validate Single Field with Hibernate Validator","description":"Validating a single field or property with Hibernate Validator is easy. See examples of how to do this with Java's validation API.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator","og_locale":"en_US","og_type":"article","og_title":"Validate Single Field with Hibernate Validator","og_description":"Validating a single field or property with Hibernate Validator is easy. See examples of how to do this with Java's validation API.","og_url":"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator","og_site_name":"Coding Explained","article_publisher":"https:\/\/www.facebook.com\/codingexplained","article_author":"https:\/\/www.facebook.com\/codingexplained","article_published_time":"2015-10-13T21:03:06+00:00","article_modified_time":"2017-06-11T17:11:04+00:00","og_image":[{"width":1200,"height":444,"url":"https:\/\/codingexplained.com\/wp-content\/uploads\/2015\/11\/codingexplained-fb-promote.png","type":"image\/png"}],"author":"Bo Andersen","twitter_card":"summary_large_image","twitter_creator":"@codingexplained","twitter_site":"@codingexplained","twitter_misc":{"Written by":"Bo Andersen","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator","url":"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator","name":"Validate Single Field with Hibernate Validator","isPartOf":{"@id":"https:\/\/codingexplained.com\/#website"},"datePublished":"2015-10-13T21:03:06+00:00","dateModified":"2017-06-11T17:11:04+00:00","author":{"@id":"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d"},"description":"Validating a single field or property with Hibernate Validator is easy. See examples of how to do this with Java's validation API.","breadcrumb":{"@id":"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/codingexplained.com\/coding\/java\/hibernate\/validate-single-field-hibernate-validator#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codingexplained.com\/"},{"@type":"ListItem","position":2,"name":"Validate Single Field with Hibernate Validator"}]},{"@type":"WebSite","@id":"https:\/\/codingexplained.com\/#website","url":"https:\/\/codingexplained.com\/","name":"Coding Explained","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codingexplained.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/codingexplained.com\/#\/schema\/person\/e19c92ec991f571605f047cefeaa950d","name":"Bo Andersen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codingexplained.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/28f5826f9d5d544b0c5e1ec321dfdfb8?s=96&d=mm&r=g","caption":"Bo Andersen"},"description":"I am a back-end web developer with a passion for open source technologies. I have been a PHP developer for many years, and also have experience with Java and Spring Framework. I currently work full time as a lead developer. Apart from that, I also spend time on making online courses, so be sure to check those out!","sameAs":["https:\/\/codingexplained.com","https:\/\/www.facebook.com\/codingexplained","https:\/\/www.linkedin.com\/in\/ba0708","https:\/\/twitter.com\/codingexplained","https:\/\/www.youtube.com\/c\/codingexplained"],"url":"https:\/\/codingexplained.com\/author\/andy"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3mJkW-qN","_links":{"self":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts\/1661"}],"collection":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/comments?post=1661"}],"version-history":[{"count":4,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts\/1661\/revisions"}],"predecessor-version":[{"id":2917,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/posts\/1661\/revisions\/2917"}],"wp:attachment":[{"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/media?parent=1661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/categories?post=1661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/tags?post=1661"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/codingexplained.com\/wp-json\/wp\/v2\/series?post=1661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}