Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

maxDate option not working properly #507

Open
sorinsfirlogea opened this issue Jan 24, 2022 · 2 comments
Open

maxDate option not working properly #507

sorinsfirlogea opened this issue Jan 24, 2022 · 2 comments

Comments

@sorinsfirlogea
Copy link

sorinsfirlogea commented Jan 24, 2022

Description
The maxDate option does not seem to work properly when using a overrideDateFormat.

HTML

<input type="text" id="invoice_date_label" data-role="datebox" data-datebox-mode="datebox" class="form-control" value="24.01.2022" />
<input type="hidden" id="invoice_date" name="invoice_date" value="2022-01-24" />

Javascript

var elem = "#invoice_date_label";
var linkedField = elem.replace( '_label', '' );`

$(elem).datebox({
      mode: "datebox",
      controlWidth: '220px',
      overrideHeaderFormat: '%A, %d %b %Y',
      useButton: true,
      useFocus: false,
      overrideDateFieldOrder: ['d', 'm', 'y'],
      overrideDateFormat: '%d.%m.%Y',
      theme_modalContainer: 'bg-light border border-dark m-0 rounded',
      theme_openButton: 'primary-light',
      theme_closeBtn: ['check', 'primary'],
      linkedField: [{id: linkedField, format: '%Y-%m-%d'}]
    });
$(elem).datebox({maxDate: '24.01.2022'});

Behavior
Although it shouldn't, in the above context the maxDate limit allows to select the date of 25.01.2022, then it starts working as it should. On the contrary, when overrideDateFormat is removed and the values of the HTML element (input_date_label) and the maxDate option are changed to ISO standard (YYYY-MM-DD), the limit works properly.

image
image

Desktop:

  • OS: Kubuntu 20.04
  • Browser any

DateBox Details

  • Datebox Version: 5.3.3.
  • Framework w/ Version: Bootstrap 4.6
  • Mode of Operation: DateBox
  • jQuery: 3.6.0
@jtsage
Copy link
Owner

jtsage commented Jan 24, 2022

It might take me a couple days to get to actually testing this, but if memory serves, that maxDate has to be in ISO format still. I don't believe it uses the same parse logic that reading / writing the choosen date does, I think it's just a simple split on the dash.

Setting the value in the input box should respect the overrideDateFormat though.

But, I will spin up a test with this as soon as I have some time.

@sorinsfirlogea
Copy link
Author

I have also tried with maxDate in ISO format and the overrideDateFormat in %d.%m.%Y format. Same behavior: it allows for one day past the limit, then it begins to work as intended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants