mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-23 10:51:09 +00:00
fix🐛: escape the literal T in the datetime value-format
value-format="YYYY-MM-DDTHH:mm:ssZ" works today only because dayjs does not currently give T a format-token meaning, so it passes through as a literal character -- an accident of the current token table, not something this string declares. Escaped it to YYYY-MM-DD[T]HH:mm:ssZ, dayjs's own syntax for "this character, verbatim, not a token": produces byte-for-byte the same output today (confirmed below) and stops depending on T staying meaningless in a future dayjs version. Re-verified both directions against the escaped string, and did so against the real el-date-picker component this time rather than dayjs alone: mounted element-plus's actual ElDatePicker with value-format="YYYY-MM-DD[T]HH:mm:ssZ" (copied from a real rendering of this fixed template, not retyped) and confirmed it renders a real, non-blank date -- not "Invalid Date" -- when its modelValue is set to either shape Go's encoding/json actually sends (a numeric offset or a literal Z for UTC), and that both render identically since they are the same instant. Submission was re-checked through the same dayjs call the component itself makes to format a picked value. A fourth check formats the same instant with both the old and the escaped string and asserts they are equal, so this suite would have caught the difference if the escape had changed anything instead of just hardening it.
This commit is contained in:
@@ -99,7 +99,7 @@
|
||||
<el-date-picker
|
||||
v-model="table.query.{{.JsonField}}"
|
||||
type="datetime"
|
||||
value-format="YYYY-MM-DDTHH:mm:ssZ"
|
||||
value-format="YYYY-MM-DD[T]HH:mm:ssZ"
|
||||
clearable
|
||||
/>
|
||||
{{- else}}
|
||||
@@ -223,7 +223,7 @@
|
||||
<el-date-picker
|
||||
v-model="form.model.{{.JsonField}}"
|
||||
type="datetime"
|
||||
value-format="YYYY-MM-DDTHH:mm:ssZ"
|
||||
value-format="YYYY-MM-DD[T]HH:mm:ssZ"
|
||||
/>
|
||||
{{- else if eq .HtmlType "textarea"}}
|
||||
<el-input v-model="form.model.{{.JsonField}}" type="textarea" :rows="2" />
|
||||
|
||||
Reference in New Issue
Block a user