我正在使用 MVC、Knockout 和 Knockout Validation 来验证我的视图模型。
我遇到了一个问题,即视图模型属性的验证在加载时立即触发。换句话说,在用户尝试更改其值之前,我的输入旁边会显示“此字段是必需的”。
这个问题特别发生在下拉(选择)控件上。
我猜这是我通过在我的 javascript 代码的另一部分中以某种方式无意更改/访问/变异 observable 造成的问题。但是,我不知道如何追踪这一点。
有没有一种方法可以让我以某种方式订阅或跟踪导致 Knockout Validation 中验证的触发事件?我只需要知道为什么会这样。我非常有信心 isValid() 函数的值始终是错误的。
这是我的 HTML 在页面加载时如何设置的示例,不受干扰:
<select class="highlightable validationElement" name="obsstate" data-bind="value: standardAnswers.ans106_1.value" required="true">
<option value="">-- Select -- </option>
<option value="AK">AK</option>
<option value="AL">AL</option>
etc...
</select>