File tree Expand file tree Collapse file tree 3 files changed +35
-0
lines changed
Expand file tree Collapse file tree 3 files changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' vee-validate ' : patch
3+ ---
4+
5+ fix: add support for parsing range inputs
Original file line number Diff line number Diff line change @@ -6,6 +6,10 @@ function parseInputValue(el: HTMLInputElement) {
66 return Number . isNaN ( el . valueAsNumber ) ? el . value : el . valueAsNumber ;
77 }
88
9+ if ( el . type === 'range' ) {
10+ return Number . isNaN ( el . valueAsNumber ) ? el . value : el . valueAsNumber ;
11+ }
12+
913 return el . value ;
1014}
1115
Original file line number Diff line number Diff line change @@ -943,6 +943,32 @@ describe('useField()', () => {
943943 expect ( field . value . value ) . toBe ( '' ) ;
944944 } ) ;
945945
946+ test ( 'handleChange parses input[type=range] value' , async ( ) => {
947+ let field ! : FieldContext ;
948+
949+ mountWithHoc ( {
950+ setup ( ) {
951+ field = useField ( 'field' , undefined ) ;
952+ const { handleChange } = field ;
953+
954+ return {
955+ handleChange,
956+ } ;
957+ } ,
958+ template : `<input type="range" min="0" max="1000" step="100" @change="handleChange" />` ,
959+ } ) ;
960+
961+ await flushPromises ( ) ;
962+ const input = document . querySelector ( 'input' ) as HTMLInputElement ;
963+ setValue ( input , '500' ) ;
964+ await flushPromises ( ) ;
965+ expect ( field . value . value ) . toBe ( 500 ) ;
966+
967+ setValue ( input , '0' ) ;
968+ await flushPromises ( ) ;
969+ expect ( field . value . value ) . toBe ( 0 ) ;
970+ } ) ;
971+
946972 test ( 'a validator can return multiple messages' , async ( ) => {
947973 let field ! : FieldContext ;
948974 const validator = vi . fn ( val => ( val ? true : [ REQUIRED_MESSAGE , 'second' ] ) ) ;
You can’t perform that action at this time.
0 commit comments