Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

form-check-inline and invalid-feedback rendering issue #25540

Closed
GBH opened this issue Feb 3, 2018 · 8 comments
Closed

form-check-inline and invalid-feedback rendering issue #25540

GBH opened this issue Feb 3, 2018 · 8 comments

Comments

@GBH
Copy link

GBH commented Feb 3, 2018

This is a valid way to render inline inputs. In order to show invalid feedback we need to cram it on the last container there or it will be display: none. Obviously it renders like hell. (can't get JS bin to work, sorry)

<div class="form-check form-check-inline">
  <input class="form-check-input is-invalid" type="checkbox" value="x" name="user[test][]" id="user_test_x" />
  <label class="form-check-label" for="user_test_x">X</label>
</div>
<div class="form-check form-check-inline">
  <input class="form-check-input is-invalid" type="checkbox" value="y" name="user[test][]" id="user_test_y" />
  <label class="form-check-label" for="user_test_y">Y</label>
  <div class="invalid-feedback">is invalid</div>
</div>

I don't have a solution, just providing an example.

For server-side validations it's easy to override css and add display: block for invalid-feedback.

Demo: https://codepen.io/anon/pen/vdGNWo

@mdo
Copy link
Member

mdo commented Feb 3, 2018

Bug reports must include a live demo of the problem. Per our contributing guidelines, please create a reduced test case via JS Bin and report back with your link, Bootstrap version, and specific browser and OS details.


This is a saved reply.

@GBH
Copy link
Author

GBH commented Feb 3, 2018

Sorry. Edited to add the demo: https://codepen.io/anon/pen/vdGNWo

@MindfulPol
Copy link

Encountered same issue, was looking if standard solution worked but I guess not since it's not in the documentation, with some css it can be fixed but it would be really nice if it was solved by default

@mlindberg2
Copy link

What was the fix with the css?

@GBH
Copy link
Author

GBH commented Sep 27, 2018

As long as invalid feedback is generated by the server. You can just add this css rule and everything should render acceptably:

.form-check.form-check-inline .invalid-feedback {
  display: block;
}

@mlindberg2
Copy link

Didn't work. Still shows up awkwardly within the div of the inline checkbox. :(

@mlindberg2
Copy link

If anyone is interested in one solution, I ended up using some javascript in the form validation,

if (!$("input:radio[name='multipleradiobuttonsetname']").is(":checked")) { $("#idforinvalidsmessage").css("display", "block"); } form.classList.add('was-validated');

and also at the bottom of the page,

`<script>

$(document).ready(function(){

$("input:radio[name='multipleradiobuttonsetname']").click(function(){
    $("#idforinvalidsmessage").css("display", "none");
	
});

});

</script>`

Not exactly elegant, but at least now the invalid feedback can be placed anywhere on the page and outside a radio div.

@mdo
Copy link
Member

mdo commented Dec 17, 2018

Might have to punt this as a can't fix—our options are extremely limited by styling based off the input (that's on purpose btw). Best case would be manually changing the display, but that's difficult with the flex styles we have on the inline form components. Other option would be using tooltips instead of plain text feedback.

Thoughts @twbs/css-review?

@mdo mdo added the v5 label Jul 10, 2019
mdo added a commit that referenced this issue Jul 10, 2019
@mdo mdo closed this as completed in aaf03bd Jul 12, 2019
patrickhlauke pushed a commit that referenced this issue Jul 13, 2019
* Initial spike of consolidated form checks

* Stub out forms rearrangement

- Prepping to drop non-custom file and range inputs
- Prepping to merge custom and native checks and radios (with switches)
- Prepping to merge custom select with form select
- Moving docs arround so forms has it's own area given volume of CSS

* Move input group Sass file to forms subdir

* Start to split and move the docs around

* Simpler imports

* Copyediting

* delete overview file

* Remove commented out code

* remove the custom-forms import

* rewrite flex-check as form-check, replace all custom properties

* Remove old forms doc

* stub out new subpage link section

* update migration guide

* Update nav, forms overview in page nav, and descriptions

* fix check bg position

* fix margin-top calculation

* rename .custom-select to .form-select

* Update validation styles for new checks

* add some vertical margin, fix inline checks

* fix docs examples

* better way to do this contents stuff, redo the toc while i'm at it

* page restyle for docs while here

* un-callout that, edit text

* redo padding on toc

* fix toc

* start to cleanup checks docs

* Rewrite Markdown tables into HTML

* Redesign tables, redo their docs

* Replace Open Iconic icons with custom Bootstrap icons

* Redesign the docs navbar, add a subheader, redo the sidebar

* Redesign docs homepage a bit

* Simplify table style overrides for docs tables

* Simplify docs typography for page titles and reading line length

* Stub out icons page

* Part of sidebar update, remove migration from nav.yml

* Move toc CSS to separate partial

* Change appearance of overview page

* fix sidebar arrow direction

* Add footer to docs layout

* Update descriptions

* Drop the .form-group class for margin utilities

* Remove lingering form-group-margin-bottom var

* improve footer spacing

* add headings to range page

* uncomment form range css

* Rename .custom-range to .form-range

* Drop unused docs var

* Uncomment the comment

* Remove unused variable

* Fix radio image sizing

* Reboot update: reset horizontal ul and ol padding

* de-dupe IDs

* tweak toc styles

* nvm, fix dropdown versions stuff

* remove sidebar nav toggle for now

* broken html

* fix more broken html, move css

* scss linting

* comment out broken helper docs

* scope styles

* scope styles

* Fixes #25540 and fixes #26407 for v5 only

* Update sidebar once more

* Match new sidenav order

* fix syntax error

* Rename custom-file to form-file, update paths, update migration docs for previous changes in #28696

* rename back

* fix size and alignment

* rename that back too
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants