# react/checked-requires-onchange-or-readonly
📝 Enforce using `onChange` or `readonly` attribute when `checked` is used.
This rule enforces `onChange` or `readonly` attribute for `checked` property of input elements.
It also warns when `checked` and `defaultChecked` properties are used together.
## Rule Details
Example of **incorrect** code for this rule:
```jsx
React.createElement('input', { checked: false });
React.createElement('input', { type: 'checkbox', checked: true });
React.createElement('input', { type: 'checkbox', checked: true, defaultChecked: true });
```
Example of **correct** code for this rule:
```jsx
{}} />
React.createElement('input', { type: 'checkbox', checked: true, onChange() {} });
React.createElement('input', { type: 'checkbox', checked: true, readOnly: true });
React.createElement('input', { type: 'checkbox', checked: true, onChange() {}, readOnly: true });
React.createElement('input', { type: 'checkbox', defaultChecked: true });
```
## Rule Options
```js
"react/checked-requires-onchange-or-readonly": [, {
"ignoreMissingProperties": ,
"ignoreExclusiveCheckedAttribute":
}]
```