【发布时间】:2014-08-09 16:16:06
【问题描述】:
我正在使用淘汰赛绑定和淘汰赛验证插件 (https://github.com/Knockout-Contrib/Knockout-Validation)
我只想在表单提交时显示错误消息,而不是在输入模糊中显示错误消息,有什么想法吗?
HTML
<div id="formErrorMessages" data-bind="visible: errors().length != 0">
<p data-bind="validationMessage : email"></p>
<p data-bind="validationMessage: firstName"></p>
<span class="arrow-down"></span> </div>
<form id="short-reg-form" method="post" data-bind="validationOptions: { insertMessages:false,decorateInputElement:true,errorElementClass:'input-error' },submit:submit">
<input type="text" name="email" data-bind="value: email" class="email" data-placeholder="Email"/>
<input type="text" name="firstName" data-bind="value: firstName" class="right-input" data-placeholder="First Name"/>
</form>
JS
函数 viewModel() {
var self = this;
self.showErrorsDiv = ko.observable(false); //Email var emailPlaceholder = getPlaceholder("email"); self.email = ko.observable("") .extend({ ng_required: { params: emailPlaceholder, message: notValidValueReturnString(emailString) }, ng_email: { params:emailPlaceholder, message:notValidValueReturnString(emailString) } }).clearError(); // invoke clearError to prevent validation on page load. //--Email //FirstName var firstNamePlaceholder = getPlaceholder("firstName"); self.firstName = ko.observable("").extend({ ng_required: { params: firstNamePlaceholder, message : notValidValueReturnString(firstNameString) } }); //--FirstName self.submit = function (e) { if (self.errors().length == 0) { // check form validation. alert(true); } else { alert(false); } //prevent form submit default behavior. return false; }; // utilities function getPlaceholder(nameAttributeVal) { return $('#short-reg-form input[name="' + nameAttributeVal + '"]').attr("data-placeholder"); }//--utilities}
$(function () { // attach view model to the DOM var pageModel = new viewModel(); pageModel.errors = ko.validation.group([pageModel.email,pageModel.firstName]); ko.applyBindings(pageModel);});
谢谢。
【问题讨论】:
-
我想要一百万美元!
-
说真的,你需要证明你在来这里之前尝试过一些东西,然后说出你想要的。这不是请给我代码网站
-
主要问题很明显,我认为不需要代码解释 - 有没有办法在表单提交时使用敲除验证插件而不是在模糊事件中调用验证?
-
我理解这个问题,答案是我相信很简单,这导致:你试过/搜索过吗?
-
是的,我之前在 Google 上搜索过 - 没有结果,此外,只有在我真的搜索过的情况下,我才会在这个网站上提出问题 :)
标签: knockout.js knockout-validation