Validation 敲除验证-数据绑定可观察数组

Validation 敲除验证-数据绑定可观察数组,validation,knockout.js,knockout-validation,Validation,Knockout.js,Knockout Validation,我正在尝试对单选按钮组进行一些验证,其中每个组都需要选择一个值。我正在尝试使用来进行验证,但在创建此动态时遇到了问题。我可以设置验证,但是让它单独验证每个组是一个挑战。现在它对所有的问题都一视同仁。我有一份报告显示了目前的情况 我从数据库中动态地在后端创建问题,但我可能会为每个问题添加一个唯一的标识符,但是对于一些我无法预先确定问题数量的问题,我如何引用一个我无法提前知道的可观察到的人的名字 示例代码表单JSFIDLE: $(function() { var viewModelQuestionn

我正在尝试对单选按钮组进行一些验证,其中每个组都需要选择一个值。我正在尝试使用来进行验证,但在创建此动态时遇到了问题。我可以设置验证,但是让它单独验证每个组是一个挑战。现在它对所有的问题都一视同仁。我有一份报告显示了目前的情况

我从数据库中动态地在后端创建问题,但我可能会为每个问题添加一个唯一的标识符,但是对于一些我无法预先确定问题数量的问题,我如何引用一个我无法提前知道的可观察到的人的名字

示例代码表单JSFIDLE:

$(function() {
var viewModelQuestionnaire = ko.validatedObservable({
    'checkScore': ko.observable().extend({
        required: true
    }),
    submit: function () {
        if (this.isValid()) {
            alert('Thank you.');
        } else {
            console.log(this);
            alert('Please check your submission.');
            this.errors.showAllMessages();
        }
    }
});

ko.applyBindings(viewModelQuestionnaire);
}))


不痛
0
1.
2.
最严重的疼痛
不累
(疲劳=缺乏能量)
0
1.
2.
最严重的疲劳


您可以避免多条错误消息,因为您必须使用validationMessage绑定自定义对象验证消息的显示,并使用敲除验证选项停止默认错误消息插入

data-bind="validationOptions: { insertMessages: false }"  //default validation will not insert  


 // customize the display of your objects validation message
 <p class="invalid" data-bind="validationMessage: checkScore"></p>
但对于问题列表验证,您必须启用深度(递归)验证


谢谢,接下来我将询问多条验证消息。但我的问题实际上是将属性分别绑定到每个问题。最好的办法是什么?耳环是最好的选择
data-bind="validationOptions: { insertMessages: false }"  //default validation will not insert  


 // customize the display of your objects validation message
 <p class="invalid" data-bind="validationMessage: checkScore"></p>
var questions=[
  {
    question: "No Pain",
    checkScore: ko.observable().extend({
       required: true
    }),
    description: "Worst Possible Pain"
  },
  {
    question: "No Tiredness (Tiredness = lack of energy)",
    checkScore: ko.observable().extend({
      required: true
    }),
    description: "Worst Possible Tiredness"
  }
]