我正在使用Knockout Validation在 Durandal/KnockoutJS 应用程序中验证我的模型。它工作正常,但我遇到了我不知道如何处理的情况。用户输入的内容之一是“讲师”列表,他们可以输入任意数量的讲师。每个讲师都有一个“教学百分比”值。所有教学百分比的总和必须达到 100%。
我不确定如何为此设置验证,因为当我为“Instructors”定义模型对象时,我无法引用任意数量的其他 Instructor 对象。
我能想到的最好的选择是放置一个 viewmodel 计算 observable ,它是所有教师教学百分比的总和,并将该值验证为 100。
我错过了什么吗?这是解决这种情况的明智方法吗?从广义上讲,这个问题适用于您有多个模型对象的任何情况,并且它们的一个属性的有效性相互依赖于其他对象的属性。
例如,ObjA.Heading 为正数时有效,ObjB.Heading 也为正数;反之亦然(ObjB.Heading 为正数有效,ObjA.Heading 也为正数)。
感谢您就如何处理这种情况提供任何意见。
谢谢!