> For the complete documentation index, see [llms.txt](https://redd.gitbook.io/react-advanced-form/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://redd.gitbook.io/react-advanced-form/components/form/callbacks/oninvalid.md).

# onInvalid

## Specification

Called once the submit is prevented due to invalid validation state of the form. Useful for any kind of custom logic based on the invalid fields.

## Definition

```typescript
type OnInvalid = ({
  invalidFields: Object[], // Unordered list of invalid fields
  fields: Object, // The state of the fields
  form: ReactComponent // Reference to the Form component
}) => void
```

## Example

```jsx
import React from 'react'
import { Form } from 'react-advanced-form'
import { Input } from 'react-advanced-form-addons'

export default class Example extends React.Component {
    handleInvalidForm = ({ invalidFields, fields, form }) => {
        // ...
    }

    render() {
        return (
            <Form onInvalid={this.handleInvalidForm}>
                <Input name="username" required />
                <button type="submit">Submit</button>
            </Form>
        )
    }
}
```
