-
-
Notifications
You must be signed in to change notification settings - Fork 133
In the form control wrapper wrap the elements inside a <div> #209
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
Conversation
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions
Please don't close, mege instead 😉
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions
Please don't close, mege instead 😉
Still the same.
@gfoidl Without wrapping inside a div the valiation feedback may be shown on other input-controls too, which is not intended. Can you show me an example?
From https://playcode.io/988904
The seconds input has no invalid
set, also the red border isn't shown. But the feedbackInvalid
is shown, which is wrong.
This PR corrects that behavior.
It has to do on how bootstrap validation rules are specified in CSS.
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions
Dear bot, don't close and disable yourself.
@gfoidl I just checked it and an additional div breaks <CInputGroup />
layout.
Then this should be fixed (too).
In #209 (comment) when the <div>
s are removed it's wrong behavior.
For my use I fixed this locally, and there's also a <CInputGroup />
-- the layout is correct and not broken.
Bootstrap didn't change in how the validation rules are specified, so a wrapper div for the inputs is needed.
@gfoidl please check this css
.input-group > .form-control, .input-group > .form-select, .input-group > .form-floating { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; } .input-group > .form-control:focus, .input-group > .form-select:focus, .input-group > .form-floating:focus-within { z-index: 5; }
if we add an additional div, then we will have something like that .input-group > div
instead of .input-group >.form-control
Yep, that's right.
But
<script setup> import { ref, computed } from 'vue' const name = ref(""); const age = ref(); </script> <template> <CForm novalidate> <CFormInput label="Name" :value="name" feedbackInvalid="Name must be entered" invalid /> <!-- Note no 'invalid' given here--> <CFormInput label="Age" :value="age" type="number" feedbackInvalid="Age must be given" /> </CForm> </template> <style> form { width: 60%; margin: 1rem; } </style>
Will show the feedbackInvalid
on the second input where it should not be shown.
How would solve that issue otherwise?
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions
Without wrapping inside a
<div>
the valiation feedback may be shown on other input-controls too, which is not intended.Thus we need to wrap all controls related to the input inside a div, in order to scope the style to it.