【发布时间】:2013-06-23 09:05:03
【问题描述】:
我正在使用淘汰赛验证,这是我的模型的样子
function SignInViewModel() {
var self = this;
self.userName = ko.observable('').extend({
required: true,
pattern: {
message: 'Username must be a valid email address',
params: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
}
});
self.password = ko.observable('').extend({
required: true
});
self.errors = ko.validation.group(self);
self.login = function (e) {
if (self.errors().length == 0) {
$.post("/account/jsonlogin", { userName: self.userName(), password: self.password(), returnUrl: "/" })
.done(function (result) {
redirect(result.redirect);
}).error(function () {
});
} else {
self.errors.showAllMessages();
}
}
}
ko.validation.configure({
insertMessages: true,
decorateElement: true,
errorElementClass: 'error'
});
$(function () {
ko.applyBindings(new SignInViewModel());
});
当我在userName 中输入一个无效的电子邮件地址并通过单击我的提交按钮调用登录时,敲除会在元素旁边附加一个错误消息跨度,但它被设置为不显示。有什么问题。
谢谢
【问题讨论】:
标签: knockout.js knockout-2.0 knockout-validation