From 4972f8772462a28f6c85c69f9cc984a66a3d8897 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Tue, 9 Feb 2016 01:12:49 -0800 Subject: [PATCH] Update form validation docs - Give some guidance on when someone might use any of the three validation states. Fixes #18702. - Improve the examples to provide examples of supporting validation text with the new `.form-control-feedback`, as well as always-present help text. Nullifies #18704. --- docs/components/forms.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/components/forms.md b/docs/components/forms.md index bcf5ebaad8..907bad705c 100644 --- a/docs/components/forms.md +++ b/docs/components/forms.md @@ -660,15 +660,22 @@ Block help text—for below inputs or for longer lines of help text—can be eas ## Validation -Bootstrap includes validation styles for danger, warning, and success states on form controls. +Bootstrap includes validation styles for danger, warning, and success states on form controls. Here's a rundown of how they work: -- To use, add `.has-warning`, `.has-danger`, or `.has-success` to the parent element. Any `.form-control-label`, `.form-control`, and `.text-help` within that element will receive the validation styles. - To use, add `.has-warning`, `.has-danger`, or `.has-success` to the parent element. Any `.form-control-label`, `.form-control`, or custom form element will receive the validation styles. - Contextual validation text, in addition to your usual form field help text, can be added with the use of `.form-control-feedback`. This text will adapt to the parent `.has-*` class. By default it only includes a bit of `margin` for spacing and a modified `color` for each state. - Validation icons are `url()`s configured via Sass variables that are applied to `background-image` declarations for each state. - You may use your own base64 PNGs or SVGs by updating the Sass variables and recompiling. - Icons can also be disabled entirely by setting the variables to `none` or commenting out the source Sass. +Generally speaking, you'll want to use a particular state for specific types of feedback: + +- **Danger** is great for when there's a blocking or required field. A user *must* fill in this field properly to submit the form. +- **Warning** works well for input values that are in progress, like password strength, or soft validation before a user attempts to submit a form. +- And lastly, **success** is ideal for situations when you have per-field validation throughout a form and want to encourage a user through the rest of the fields. + +Here are some examples of the aforementioned classes in action. + {% comment %} {% callout warning %} #### Conveying validation state to assistive technologies and colorblind users @@ -683,16 +690,24 @@ Ensure that an alternative indication of state is also provided. For instance, y
+ + Example help text that remains unchanged.
+ + Example help text that remains unchanged.
+ + Example help text that remains unchanged.
+{% endexample %} +{% example html %}