palantir/blueprint
DateInput handles blur and key down Enter on the input field differently.
开放
#2,550 创建于 2018年5月29日
Package: datetimeType: enhancementhelp wanted
仓库指标
- 星标
- (20,263 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
Environment
- Package version(s): blueprintjs/datetime@2.0.0
- Browser and OS versions: Chrome
Steps to reproduce
- With
<DateInput
minDate={new Date('2018-01-01T00:00:00Z')}
maxDate={new Date('2019-01-01T00:00:00Z')}
onChange={val => console.log('onChange', val)}
onError={val => console.log('onError', val)}
/>
- On filling in
05/29/3018into the input as string and blurring the input, you seeonError Fri May 29 3018 09:00:00 GMT+0200 (CEST) - On filling in
05/29/3018and then hitting Enter, you can seeonChange Fri May 29 3018 09:00:00 GMT+0200 (CEST)
Actual behavior
Expected behavior
I would expect that whether input is blurred or whether I hit Enter, both ways will trigger the same handler, which according to documentation should be onError as date is out of range.
Possible solution
On handleInputBlur there is correct code that calls onChange or onError depending on the validity of the value but in handleDateChange which is called in handleInputKeyDown this is not implemented and onChange is called with invalid inputs.