fix: use HTML-safe expressions for @input handlers in Vue templates

Replace `<` comparisons with Math.max/ternary+>= to avoid Vue template
parser treating `<` as HTML tag start in attribute values.
This commit is contained in:
erio
2026-03-06 04:33:55 +08:00
parent 8a8cdeebb4
commit 18f2e21414
3 changed files with 6 additions and 6 deletions

View File

@@ -496,7 +496,7 @@
class="input" class="input"
:class="!enableConcurrency && 'cursor-not-allowed opacity-50'" :class="!enableConcurrency && 'cursor-not-allowed opacity-50'"
aria-labelledby="bulk-edit-concurrency-label" aria-labelledby="bulk-edit-concurrency-label"
@input="if (concurrency < 1) concurrency = 1" @input="concurrency = Math.max(1, concurrency || 1)"
/> />
</div> </div>
<div> <div>
@@ -525,7 +525,7 @@
class="input" class="input"
:class="!enableLoadFactor && 'cursor-not-allowed opacity-50'" :class="!enableLoadFactor && 'cursor-not-allowed opacity-50'"
aria-labelledby="bulk-edit-load-factor-label" aria-labelledby="bulk-edit-load-factor-label"
@input="if (loadFactor != null && loadFactor < 1) loadFactor = null" @input="loadFactor = (loadFactor &amp;&amp; loadFactor >= 1) ? loadFactor : null"
/> />
<p class="input-hint">{{ t('admin.accounts.loadFactorHint') }}</p> <p class="input-hint">{{ t('admin.accounts.loadFactorHint') }}</p>
</div> </div>

View File

@@ -1753,13 +1753,13 @@
<div> <div>
<label class="input-label">{{ t('admin.accounts.concurrency') }}</label> <label class="input-label">{{ t('admin.accounts.concurrency') }}</label>
<input v-model.number="form.concurrency" type="number" min="1" class="input" <input v-model.number="form.concurrency" type="number" min="1" class="input"
@input="if (form.concurrency < 1) form.concurrency = 1" /> @input="form.concurrency = Math.max(1, form.concurrency || 1)" />
</div> </div>
<div> <div>
<label class="input-label">{{ t('admin.accounts.loadFactor') }}</label> <label class="input-label">{{ t('admin.accounts.loadFactor') }}</label>
<input v-model.number="form.load_factor" type="number" min="1" <input v-model.number="form.load_factor" type="number" min="1"
class="input" :placeholder="String(form.concurrency || 1)" class="input" :placeholder="String(form.concurrency || 1)"
@input="if (form.load_factor != null && form.load_factor < 1) form.load_factor = null" /> @input="form.load_factor = (form.load_factor &amp;&amp; form.load_factor >= 1) ? form.load_factor : null" />
<p class="input-hint">{{ t('admin.accounts.loadFactorHint') }}</p> <p class="input-hint">{{ t('admin.accounts.loadFactorHint') }}</p>
</div> </div>
<div> <div>

View File

@@ -654,13 +654,13 @@
<div> <div>
<label class="input-label">{{ t('admin.accounts.concurrency') }}</label> <label class="input-label">{{ t('admin.accounts.concurrency') }}</label>
<input v-model.number="form.concurrency" type="number" min="1" class="input" <input v-model.number="form.concurrency" type="number" min="1" class="input"
@input="if (form.concurrency < 1) form.concurrency = 1" /> @input="form.concurrency = Math.max(1, form.concurrency || 1)" />
</div> </div>
<div> <div>
<label class="input-label">{{ t('admin.accounts.loadFactor') }}</label> <label class="input-label">{{ t('admin.accounts.loadFactor') }}</label>
<input v-model.number="form.load_factor" type="number" min="1" <input v-model.number="form.load_factor" type="number" min="1"
class="input" :placeholder="String(form.concurrency || 1)" class="input" :placeholder="String(form.concurrency || 1)"
@input="if (form.load_factor != null && form.load_factor < 1) form.load_factor = null" /> @input="form.load_factor = (form.load_factor &amp;&amp; form.load_factor >= 1) ? form.load_factor : null" />
<p class="input-hint">{{ t('admin.accounts.loadFactorHint') }}</p> <p class="input-hint">{{ t('admin.accounts.loadFactorHint') }}</p>
</div> </div>
<div> <div>