如何使用基因敲除验证将验证设置为数组?敲除映射 - 验证数组
我的对象定义
//c# code
public class Trophy
{
public string Name { get; set; }
public string Category { get; set; }
public double PrizeMoney { get; set; }
}
public class Player
{
public string Name { get; set; }
public List<Trophy> Trophies { get; set; }
}
我能够设置验证喜欢使用KO验证简单的类型,如“名称”“需要”,但我不能设置奖杯这是一个数组。对于简单类型,我使用如下
// javascript code
var localModel = ko.mapping.fromJSON(getPlayerModelJson());
// Validation
localModel.Name.extend({ required: { message: 'Please enter first name' } });
请让我知道如何做的奖杯名称,类别和PrizeMoney?
我试图利用作为
http://knockoutjs.com/documentation/plugins-mapping.html提到“使用‘创造’自定义对象的构造”,但它是建立一个重复的奖杯阵列项目,例如,如果我在奖杯生成的目标有两个列表项也有两个项目,但它是最后一个项目的副本
// Java script code
var Trophies = function (data) {
Name = ko.observable(data.Name).extend({ required: { message: 'Please enter name' } }),
Category = ko.observable(data.Category),
PrizeMoney = ko.observable(data.PrizeMoney)
}
var localModel = ko.mapping.fromJSON(getPlayerModelJson(), TrophiesMapping);
//Custom mapping
var TrophiesMapping = {
'Trophies': {
create: function (options) {
return new Trophies(options.data);
}
}
}
我只想验证数组中的属性。谢谢
谢谢科里科尔。问题不在于ko.mapping.fromJSON,而是与奖杯对象,你的代码的区别在于你使用self(this)引用,比如self.Name,self.Trophy和self.PrizeMoney。这样就解决了这个问题。 – Swamy