# Forms Support

You can use the ComboBox in template-driven or reactive forms, and within a `FormField`.

The component accepts values of the complex (objects) or the primitive (strings, numbers, or other) type. To specify the value type, set the [`valuePrimitive`](https://www.telerik.com/kendo-angular-ui-develop/components/dropdowns/api/comboboxcomponent#valueprimitive) property. By default, it is set to `false`—the value has to match the `data` type.

## Template-Driven Forms

The template-driven forms enable you to bind the ComboBox to the model by using the [`ngModel`](https://angular.dev/guide/forms) directive.

The following example demonstrates how to accomplish a two-way data binding when the model field is a complex value.

[Demo Source](https://demos.telerik.com/kendo-angular-ui/demos/dropdowns/combobox/forms/source.txt)

The following example demonstrates how to accomplish a two-way data binding when the model field is a primitive value.

[Demo Source](https://demos.telerik.com/kendo-angular-ui/demos/dropdowns/combobox/forms/model_primitive_value/source.txt)

## Reactive Forms

The `FormGroup` provides a way to render reactive forms. For more details, refer to the [Angular Documentation](https://angular.dev/guide/forms/reactive-forms).

The following example demonstrates how to use the ComboBox in a reactive form with a primitive value binding.

[Demo Source](https://demos.telerik.com/kendo-angular-ui/demos/dropdowns/combobox/forms/reactive_primitive_value/source.txt)

The following example demonstrates how to use the ComboBox in a reactive form with a complex value binding.

[Demo Source](https://demos.telerik.com/kendo-angular-ui/demos/dropdowns/combobox/forms/reactive_complex_value/source.txt)

## Managing the ComboBox Disabled State in Reactive Forms

To disable the ComboBox component when working with reactive forms and Angular 15 or later, use the FormControl's [`disabled` property/option](https://angular.io/api/forms/AbstractControl#disabled) or [`disable()` method](https://angular.io/api/forms/AbstractControl#disable).

> Angular 15 introduces a [breaking change](https://github.com/angular/angular/pull/47576) affecting the synchronization of [`setDisabledState`](https://angular.io/api/forms/ControlValueAccessor#setDisabledState) with the model-DOM. This impacts components using the [`disabled` attribute](https://angular.io/api/forms/AbstractControl#disabled). As a result, the [`disabled`](https://www.telerik.com/kendo-angular-ui-develop/components/dropdowns/api/comboboxcomponent#disabled) property of the Kendo UI for Angular components used prior to Angular 15 is no longer working in reactive forms.

[Demo Source](https://demos.telerik.com/kendo-angular-ui/demos/dropdowns/combobox/forms/reactive-forms-disabled/source.txt)

## FormField Association

The [Kendo UI for Angular FormField component](https://www.telerik.com/kendo-angular-ui-develop/components/inputs/form/formfield) enables you to group form-related elements, such as inputs, labels, hint and error messages, and configure their behavior.

The following example demonstrates how to use the ComboBox within a FormField with hint and error messages.

[Demo Source](https://demos.telerik.com/kendo-angular-ui/demos/dropdowns/combobox/formfield/source.txt)

## Suggested Links

* [API Reference of the ComboBox](https://www.telerik.com/kendo-angular-ui-develop/components/dropdowns/api/comboboxcomponent)
