Tôi đang sử dụng MVC, Knockout và Xác nhận Knockout để xác thực mô hình chế độ xem của tôi.Xác nhận Knockout đánh giá ngay lập tức khi tải
Tôi đang gặp sự cố trong đó xác thực cho thuộc tính mô hình chế độ xem đang kích hoạt ngay khi tải. Nói cách khác, "Trường này là bắt buộc" hiển thị bên cạnh các yếu tố đầu vào của tôi trước khi người dùng cố gắng thay đổi giá trị của chúng.
Sự cố này xảy ra cụ thể với các điều khiển thả xuống (chọn).
Tôi đoán rằng đây là sự cố mà tôi đã tạo bằng cách nào đó vô tình thay đổi/truy cập/biến đổi có thể quan sát được trong một phần khác của mã javascript của tôi. Tuy nhiên, tôi không biết làm thế nào để theo dõi này xuống.
Có cách nào để bằng cách nào đó tôi có thể đăng ký hoặc theo dõi ngay cả các vụ cháy gây ra xác thực trong Xác nhận Knockout không? Tôi chỉ cần biết tại sao điều này lại bùng nổ theo cách của nó. Tôi khá tự tin rằng giá trị của hàm isValid() là luôn sai.
Dưới đây là một ví dụ về cách HTML của tôi là thiết lập trên tải trang, unmolested:
<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>
tôi đặt mô hình để chuỗi rỗng nhưng nó vẫn bắn vào tải. Một trong những điều tôi nhận thấy là tùy chọnCaptions: 'Chọn ...'không đưa vào mục, nhưng giá trị không phải là giá trị = "" giá trị tùy chọn chỉ> Chọn ... –
jmogera
Người trả lời tốt !! Đã làm cho tôi. –