@Override public BindingBuilder<BEAN, TARGET> asRequired( Validator<TARGET> customRequiredValidator) { checkUnbound(); field.setRequiredIndicatorVisible(true); return withValidator(customRequiredValidator); }
private void updateColorComponents(Component component) { if (component instanceof HasValue<?>) { ((HasValue<?>) component).setReadOnly(isReadOnly()); ((HasValue<?>) component) .setRequiredIndicatorVisible(isRequiredIndicatorVisible()); } if (component instanceof HasComponents) { for (Component c : (HasComponents) component) { updateColorComponents(c); } } }
private void configureRequired(BindingBuilder<BEAN, ?> binding, PropertyDefinition<BEAN, ?> definition, BeanValidator validator) { assert requiredConfigurator != null; Class<?> propertyHolderType = definition.getPropertyHolderType(); BeanDescriptor descriptor = validator.getJavaxBeanValidator() .getConstraintsForClass(propertyHolderType); PropertyDescriptor propertyDescriptor = descriptor .getConstraintsForProperty(definition.getTopLevelName()); if (propertyDescriptor == null) { return; } if (propertyDescriptor.getConstraintDescriptors().stream() .map(ConstraintDescriptor::getAnnotation) .anyMatch(requiredConfigurator)) { binding.getField().setRequiredIndicatorVisible(true); } }
@Override public void setRequired(boolean required) { field.setRequiredIndicatorVisible(required); }
/** * Sets the required indicator visible or not. * <p> * If set visible, it is visually indicated in the user interface. * * @param requiredIndicatorVisible * <code>true</code> to make the required indicator visible, * <code>false</code> if not * @return this (for method chaining) */ public default S withRequiredIndicatorVisible( boolean requiredIndicatorVisible) { ((HasValue<V>) this) .setRequiredIndicatorVisible(requiredIndicatorVisible); return (S) this; }
@Override public void setRequired(boolean required) { component.setRequiredIndicatorVisible(required); setupComponentErrorProvider(required, component); }
@Override public F createField() { // Create the Vaadin field F field = createFieldComponent(); if (AbstractComponent.class.isAssignableFrom(field.getClass())) { AbstractComponent abstractComponent = (AbstractComponent) field; abstractComponent.setLocale(locale); if (StringUtils.isNotBlank(getDefinition().getStyleName())) { field.addStyleName(getDefinition().getStyleName()); } field.setWidth(100, Sizeable.Unit.PERCENTAGE); setFieldCaption(field); } field.setRequiredIndicatorVisible(getDefinition().isRequired()); field.setReadOnly(getDefinition().isReadOnly()); return field; }