다음 knockout 사용 예제를 작성했습니다.knockout.js observableArray에서 유효성을 검사하여 모든 항목 필요 (빈 필드 없음)
HTML
<script id="customMessageTemplate" type="text/html">
<em class="customMessage" data-bind='validationMessage: field'></em>
</script>
<fieldset>
<legend>User: <span data-bind='text: errors().length'></span> errors</legend>
<label>First name: <input data-bind='value: firstName'/></label>
<label>Last name: <input data-bind='value: lastName'/></label>
<table>
<thead>
<tr><th>Value</th></tr>
</thead>
<tbody data-bind="foreach: captcha">
<tr>
<td><input data-bind="value: value" type="test" /></td>
</tr>
</tbody>
</table>
<button type="button" data-bind='click: submit'>Submit</button>
개편, 나는 평소 관찰 개체가 입력 reffrering 같은 동일한 방법으로 제시 예에서 이름 및 성 필드이 배열의 모든 항목을 요구하는 observableArray에 추가해야합니까
ko.validation.rules.pattern.message = 'Invalid.';
ko.validation.configure({
registerExtenders: true,
messagesOnModified: true,
insertMessages: true,
parseInputAttributes: true,
messageTemplate: null
});
var captcha = function (val) {
return val == 11;
};
var mustEqual = function (val, other) {
return val == other();
};
var viewModel = {
firstName: ko.observable().extend({ required: true }),
lastName: ko.observable().extend({ required: true }),
captcha: ko.observableArray([{value: "test"}]),
submit: function() {
if (viewModel.errors().length == 0) {
alert('Thank you.');
} else {
alert('Please check your submission.');
viewModel.errors.showAllMessages();
}
}
};
viewModel.errors = ko.validation.group(viewModel);
ko.applyBindings(viewModel);
?
*이 배열의 모든 항목을 필요로 * 무엇을 의미합니까? – adiga
@adiga 빈 필드를 남기고 싶지 않습니다. – maciejka
'firstName'와 비슷한'value'에 필요한 유효성 검사를 추가 하시겠습니까? – adiga