如何使用敲除验证将验证设置为数组?
我的对象定义
//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' } });
请让我知道如何在奖杯中填写姓名、类别和奖金?
我尝试使用
http://knockoutjs.com/documentation/plugins-mapping.html中提到的“使用“create”自定义对象构造”,但它正在创建一个重复的 Trophies 数组项,例如,如果我有两个Trophies 中的列表项 生成的对象也有两项,但与最后一项重复
// 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);
}
}
}
我想要的只是验证数组中的属性。谢谢