KO JS w/ kendo,多条件可见
KO JS w/ kendo, multi conditional visible
如果用户输入数据并且数据小于 1,我将尝试显示我的 "Amount may not be less than 1." 消息。
<div class="form-group" data-bind="validationElement: Amount">
<label for="Amount" data-bind="attr: {'for':'Amount'+$index()}">Amount</label>
<input id="Amount" class="form-control" maxlength="13" type="text" placeholder="Required" required
data-bind="attr: {id:'Amount'+$index()}, value: Amount, kendoNumericTextBox: { value: Amount, format: 'c2', spinners: false, step: 1, min:1, max:10000000000 }" />
<span data-bind="visible: Amount() > 10000000000" style="color:#a94442;">Amount may not be greater than 10000000000.</span>
<span data-bind="visible: Amount() && Amount() < 1" style="color:#a94442;">Amount may not be less than 1.</span>
</div>
如果我只做 visible: Amount() < 1
那么它将始终显示,因为我猜一个空白文本框被认为小于一个。如果我将其更改为 visible: Amount()
,则在用户输入数据之前不会显示任何内容,正如预期的那样。我需要两者,因为它需要验证用户输入数据,并且数据小于 1。有什么线索吗?出于某种原因,它不喜欢我的 &&
运算符。
我明白了。显然它只是没有触发零,所以我添加了 || Amount() === 0
并解决了问题。
如果用户输入数据并且数据小于 1,我将尝试显示我的 "Amount may not be less than 1." 消息。
<div class="form-group" data-bind="validationElement: Amount">
<label for="Amount" data-bind="attr: {'for':'Amount'+$index()}">Amount</label>
<input id="Amount" class="form-control" maxlength="13" type="text" placeholder="Required" required
data-bind="attr: {id:'Amount'+$index()}, value: Amount, kendoNumericTextBox: { value: Amount, format: 'c2', spinners: false, step: 1, min:1, max:10000000000 }" />
<span data-bind="visible: Amount() > 10000000000" style="color:#a94442;">Amount may not be greater than 10000000000.</span>
<span data-bind="visible: Amount() && Amount() < 1" style="color:#a94442;">Amount may not be less than 1.</span>
</div>
如果我只做 visible: Amount() < 1
那么它将始终显示,因为我猜一个空白文本框被认为小于一个。如果我将其更改为 visible: Amount()
,则在用户输入数据之前不会显示任何内容,正如预期的那样。我需要两者,因为它需要验证用户输入数据,并且数据小于 1。有什么线索吗?出于某种原因,它不喜欢我的 &&
运算符。
我明白了。显然它只是没有触发零,所以我添加了 || Amount() === 0
并解决了问题。