嗨,我创建了一个包含一组属性的函数对象。这就是我所拥有的:
function LoginModelDTO(data) {
var self = this;
self.UserName = ko.observable(data.UserName).extend({
minLength: {
params: 25,
message: "Username should have at least 25 chars"
},
required: {
message: "Username is required"
},
maxLength: {
params: 50,
message: "Username should not have more then 50 chars"
},
trackChanges: null
});
self.Password = ko.observable(data.Password).extend({
stringLength: {
params: 25,
},
required: {
message: "Password is required"
},
trackChanges: null
});
self.RememberMe = ko.observable(data.RememberMe).extend({
trackChanges: null
});
self.isValid = ko.computed(function () {
var bool = self.FirstName.isValid() &&
self.Username.isValid() &&
self.Password.isValid() &&
self.RememberMe() &&
return bool;
});
}
我想要的是能够找到一种方法来迭代每个属性并询问它是否有效,而无需每次都编写每个属性,因为我还必须为 hasChanges 、 revertChanges 等编写类似 self.isValid 的结构。
此外,我将需要创建其他与 LoginModelDTO 类似的对象,这些对象具有大约 30-35 个属性。这将导致需要大量代码和更大的 javascript 文件。
有什么方法可以迭代只抛出属性并检查它们是否有效?isValid 应该被跳过