我使用KnockoutJS创建了一些输入字段,现在我想验证它们。
http://jsfiddle.net/sohimohit/43zkoszu/12/
我尝试使用验证插件,但它不起作用。
我添加了插件并按照提到的方式使用它,但没有得到解决方案。当您点击"添加字段"出现一个表格;我想要求name
字段和branch id
作为数字。但是,当我点击"添加字段"在表单验证之前,它不会被添加。
我怎样才能做到这一点?
答案 0 :(得分:2)
您没有正确进行验证。我推荐这种方法
设置一些设置
ko.validation.configure({
insertMessages: false,
decorateElement: true,
errorElementClass: 'error-element',
errorClass: 'error-element',
errorsAsTitle: true,
parseInputAttributes: false,
messagesOnModified: true,
decorateElementOnModified: true,
decorateInputElement: true
});
使用validationElement
进行输入绑定<input type="text" placeholder="Name" data-bind="value:name,validationElement:name">
<input type="text" placeholder="Branch" data-bind="value:branch,validationElement:branch">
扩展可观察量
self.name = ko.observable().extend({required:true})
self.branch = ko.observable().extend({required:true,digit: true})
现在应用规则。我更喜欢小组
var data = [
self.name,
self.branch
]
self.Errors = ko.validation.group(data);
现在点击添加按钮包裹你的代码
self.Add = function(){
if(self.Errors.length == 0){
.
.
.
//Your code here
}else{
self.Errors.showAllMessages()
}
}
希望有所帮助