File tree 5 files changed +25
-13
lines changed
5 files changed +25
-13
lines changed Original file line number Diff line number Diff line change @@ -74,10 +74,10 @@ Object.keys(rules).forEach(rule => {
74
74
``` html
75
75
<template lang =" pug" >
76
76
#app.section
77
- form-json(:formFields="jsonFields",
78
- :formName="'userProfil'"
77
+ form-json(:btnReset="{value: 'Reset'}",
79
78
:btnSubmit="{value: 'Submit'}",
80
- :btnReset="{value: 'Reset'}")
79
+ :formFields="jsonFields",
80
+ formName="userProfil")
81
81
div(slot="slotNameAddedInJsonFields")
82
82
p Your slot content
83
83
</template >
@@ -91,11 +91,11 @@ Object.keys(rules).forEach(rule => {
91
91
components: {
92
92
formJson
93
93
},
94
- data : () => ({
95
- jsonFields
96
- }),
97
94
mounted () {
98
95
this .$root .$on (' formSubmitted' , values => alert (JSON .stringify (values)))
96
+ },
97
+ computed: {
98
+ jsonFields : () => jsonFields
99
99
}
100
100
}
101
101
</script >
Original file line number Diff line number Diff line change 1
1
<template lang="pug">
2
2
#app .section
3
- app-form( :formFields ="jsonFields" ,
4
- formName ="userProfil" ,
3
+ app-form( :btnReset ="{value: 'Reset'}" ,
5
4
:btnSubmit ="{value: 'Submit'}" ,
6
- :btnReset ="{value: 'Reset'}" )
5
+ :formFields ="jsonFields" ,
6
+ formName ="userProfil" )
7
7
div( slot ="boxSlot" )
8
8
.box
9
9
article
@@ -24,11 +24,11 @@ export default {
24
24
components: {
25
25
appForm: Form
26
26
},
27
- data : () => ({
28
- jsonFields
29
- }),
30
27
mounted () {
31
28
this .$root .$on (' formSubmitted' , values => alert (JSON .stringify (values)))
29
+ },
30
+ computed: {
31
+ jsonFields : () => jsonFields
32
32
}
33
33
}
34
34
</script >
Original file line number Diff line number Diff line change @@ -69,6 +69,8 @@ export default {
69
69
},
70
70
getRules () {
71
71
const { rules = {}, pattern } = this .item
72
+ rules .required = this .item .isRequired !== false
73
+
72
74
let validation
73
75
pattern && (validation = { regex: new RegExp (pattern) })
74
76
return { ... rules, ... validation }
Original file line number Diff line number Diff line change @@ -275,6 +275,13 @@ describe('Form', () => {
275
275
expect ( $inputSubmit ) . toHaveAttribute ( 'disabled' , 'disabled' )
276
276
} )
277
277
278
+ it ( 'has submit btn disabled if no default value in field' , async ( ) => {
279
+ await wrapper . setProps ( { formFields : [ { label : 'a label' } ] } )
280
+ await flush ( )
281
+
282
+ expect ( $inputSubmit ) . toHaveAttribute ( 'disabled' , 'disabled' )
283
+ } )
284
+
278
285
it ( 'enables submit input if all fields are valid' , async ( ) => {
279
286
await flush ( )
280
287
expect ( $inputSubmit ) . toHaveAttribute ( 'disabled' , 'disabled' )
Original file line number Diff line number Diff line change 22
22
[
23
23
{
24
24
"label" : " Email" ,
25
- "type" : " email"
25
+ "type" : " email" ,
26
+ "rules" : {
27
+ "email" : true
28
+ }
26
29
},
27
30
{
28
31
"label" : " Phone Number" ,
You can’t perform that action at this time.
0 commit comments