<
form
id
=
"
demoForm
"
method
=
"
POST
"
>
<
input
type
=
"
text
"
name
=
"
date
"
placeholder
=
"
Date
"
/>
<
input
type
=
"
text
"
name
=
"
month
"
placeholder
=
"
Month
"
/>
<
input
type
=
"
text
"
name
=
"
year
"
placeholder
=
"
Year
"
/>
<
input
type
=
"
hidden
"
name
=
"
dob
"
/>
form
>
const
form
=
document
.
getElementById
(
'demoForm'
)
;
const
fv
=
FormValidation
.
formValidation
(
form
,
{
fields
:
{
dob
:
{
validators
:
{
notEmpty
:
{
message
:
'Please fill out each field'
}
,
date
:
{
format
:
'YYYY/MM/DD'
,
message
:
'Please enter a valid date'
,
}
,
}
}
}
,
plugins
:
{
...
}
,
}
)
;
revalidateField()
method:
const
keyupHandler
=
function
(
)
{
const
y
=
form
.
querySelector
(
'[name="year"]'
)
.
value
;
const
m
=
form
.
querySelector
(
'[name="month"]'
)
.
value
;
const
d
=
form
.
querySelector
(
'[name="date"]'
)
.
value
;
// Set the dob field value
const
dob
=
y
===
''
||
m
===
''
||
d
===
''
?
''
:
[
y
,
m
,
d
]
.
join
(
'/'
)
;
form
.
querySelector
(
'[name="dob"]'
)
.
value
=
dob
;
// Revalidate it
fv
.
revalidateField
(
'dob'
)
;
}
;
form
.
querySelector
(
'[name="year"]'
)
.
addEventListener
(
'keyup'
,
keyupHandler
)
;
form
.
querySelector
(
'[name="month"]'
)
.
addEventListener
(
'keyup'
,
keyupHandler
)
;
form
.
querySelector
(
'[name="date"]'
)
.
addEventListener
(
'keyup'
,
keyupHandler
)
;