You can use metadata to specify that a field is required or has a minimum size, and so on. This is done using the validation metadata in the org.talend.sdk.component.api.configuration.constraint package:
MaxLength
Ensure the decorated option size is validated with a higher bound.
- 
API:
@org.talend.sdk.component.api.configuration.constraint.Max - 
Name:
maxLength - 
Parameter Type:
double - 
Supported Types: —
java.lang.CharSequence - 
Sample:
 
{
  "validation::maxLength":"12.34"
}
MinLength
Ensure the decorated option size is validated with a lower bound.
- 
API:
@org.talend.sdk.component.api.configuration.constraint.Min - 
Name:
minLength - 
Parameter Type:
double - 
Supported Types: —
java.lang.CharSequence - 
Sample:
 
{
  "validation::minLength":"12.34"
}
Pattern
Validate the decorated string with a javascript pattern (even into the Studio).
- 
API:
@org.talend.sdk.component.api.configuration.constraint.Pattern - 
Name:
pattern - 
Parameter Type:
java.lang.string - 
Supported Types: —
java.lang.CharSequence - 
Sample:
 
{
  "validation::pattern":"test"
}
Max
Ensure the decorated option size is validated with a higher bound.
- 
API:
@org.talend.sdk.component.api.configuration.constraint.Max - 
Name:
max - 
Parameter Type:
double - 
Supported Types: —
java.lang.Number—int—short—byte—long—double—float - 
Sample:
 
{
  "validation::max":"12.34"
}
Min
Ensure the decorated option size is validated with a lower bound.
- 
API:
@org.talend.sdk.component.api.configuration.constraint.Min - 
Name:
min - 
Parameter Type:
double - 
Supported Types: —
java.lang.Number—int—short—byte—long—double—float - 
Sample:
 
{
  "validation::min":"12.34"
}
Required
Mark the field as being mandatory.
- 
API:
@org.talend.sdk.component.api.configuration.constraint.Required - 
Name:
required - 
Parameter Type:
- - 
Supported Types: —
java.lang.Object - 
Sample:
 
{
  "validation::required":"true"
}
MaxItems
Ensure the decorated option size is validated with a higher bound.
- 
API:
@org.talend.sdk.component.api.configuration.constraint.Max - 
Name:
maxItems - 
Parameter Type:
double - 
Supported Types: —
java.util.Collection - 
Sample:
 
{
  "validation::maxItems":"12.34"
}