data-toggle="buttons"
element:
<
div
class
=
"
form-group row
"
>
<
label
class
=
"
col-sm-3 col-form-label
"
>
Gender
label
>
<
div
class
=
"
col-sm-9
"
id
=
"
genderContainer
"
>
<
div
class
=
"
btn-group btn-group-toggle
"
data-toggle
=
"
buttons
"
>
<
label
class
=
"
btn btn-secondary
"
>
<
input
type
=
"
radio
"
name
=
"
gender
"
value
=
"
male
"
/>
Male
label
>
<
label
class
=
"
btn btn-secondary
"
>
<
input
type
=
"
radio
"
name
=
"
gender
"
value
=
"
female
"
/>
Female
label
>
<
label
class
=
"
btn btn-secondary
"
>
<
input
type
=
"
radio
"
name
=
"
gender
"
value
=
"
other
"
/>
Other
label
>
div
>
div
>
div
>
onPlaced
event:
icon
:
new
FormValidation
.
plugins
.
Icon
(
{
...
onPlaced
:
function
(
e
)
{
if
(
e
.
field
===
'gender'
)
{
// Place the icon for "gender" element
// at the end of "genderContainer" element
document
.
getElementById
(
'genderContainer'
)
.
appendChild
(
e
.
iconElement
)
;
}
}
}
)
,
data-toggle="buttons"
. So, we need to revalidate the field when it's changed manually:
const
demoForm
=
document
.
getElementById
(
'demoForm'
)
;
const
fv
=
FormValidation
.
formValidation
(
demoForm
,
{
fields
:
{
gender
:
{
validators
:
{
notEmpty
:
{
message
:
'The gender is required'
}
}
}
,
}
,
plugins
:
{
...
}
}
)
;
$
(
demoForm
)
.
find
(
'[name="gender"]'
)
.
on
(
'change'
,
function
(
)
{
fv
.
revalidateField
(
'gender'
)
;
}
)
;