Att Form Novalidate
# HTML
```
### HTML vs. XHTML Differences
In XHTML, attribute minimization is forbidden. If you are writing XHTML-compliant code, the `novalidate` attribute must be explicitly defined with its value:
```xml
```
### Bypassing Specific Validations
In this example, the form contains a `required` field and a `pattern` constraint. Because of the `novalidate` attribute on the parent `
```
---
## Use Cases
Why would you want to disable browser validation?
1. **Custom JavaScript Validation:** If you want to handle all form validation manually using a custom JavaScript library or framework (e.g., React, Vue, or custom constraint validation APIs) without browser-native tooltips interfering.
2. **"Save Draft" Functionality:** If a form has multiple submit buttons (e.g., "Save Draft" and "Publish"), you might want to allow users to save incomplete or invalid data as a draft.
3. **Testing Purposes:** Developers often use `novalidate` to quickly test server-side validation logic without being blocked by client-side browser checks.
---
## Browser Support
The `novalidate` attribute is widely supported by all modern web browsers:
| Browser | Supported |
| :--- | :--- |
| **Google Chrome** | Yes |
| **Mozilla Firefox** | Yes |
| **Microsoft Edge / IE** | IE 10+ |
| **Opera** | Yes |
| **Safari** | Yes (Modern versions) |
> **Note:** Legacy browsers like Internet Explorer 9 and earlier do not support the `novalidate` attribute because they do not support HTML5 form validation features.
---
## Related Attribute: `formnovalidate`
If you want to bypass validation only for a specific submit button rather than the entire form, you can use the `formnovalidate` attribute on an `` or `
YouTip