# Unable to get work constraintDefinition

**URL:** https://discourse.hibernate.org/t/unable-to-get-work-constraintdefinition/4161
**Category:** Hibernate Validator
**Created:** [May 13, 2020, 6:33pm UTC](https://discourse.hibernate.org/t/unable-to-get-work-constraintdefinition/4161 "2020-05-13T18:33:26Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![dontturnaway](https://avatars.discourse-cdn.com/v4/letter/d/db5fbb/32.png) [@dontturnaway](https://discourse.hibernate.org/u/dontturnaway)
#### Post date: [May 13, 2020, 6:33pm UTC](https://discourse.hibernate.org/t/unable-to-get-work-constraintdefinition/4161/1 "2020-05-13T18:33:26Z")

</div>

I have a custom validator, which validates string for regex pattern (later I’ll make it more complicated).  
I want to use it for inline validating lot of local String variables in my project, without adding it to the domain model. So as I take, I have have to use programmatic constraint declaration API.

**The problem is:** I’m unable to get my custom validator to work with constraintDefinition method:

```auto
constraintMapping
    .constraintDefinition(StringValidator.class )
    .validatedBy( StringValidatorImpl.class )

```

But if I try to do it in another way, it works like a charm:

```auto
constraintMapping
  .type(String.class)
  .constraint(new GenericConstraintDef<StringValidator>( StringValidator.class ) )*

```

Could you please explain why the second one works and first one not?

> **Full code**
>
> public class DynValidator {
> 
> ```
> public Validator getValidator() {
> 
> HibernateValidatorConfiguration configuration = Validation
> .byProvider(HibernateValidator.class)
> .configure();
> 
> ConstraintMapping constraintMapping = configuration.createConstraintMapping();
> 
> constraintMapping
> .constraintDefinition(StringValidator.class )
> .validatedBy( StringValidatorImpl.class )
> ;
> 
> Validator validator = configuration.addMapping(constraintMapping)
> .buildValidatorFactory()
> .getValidator();
> 
> return validator;
> }
> 
> ```
> 
> }
