如何使用基因敲除驗證將驗證設置爲數組?敲除映射 - 驗證數組
我的對象定義
//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