Javascript 淘汰验证检查流程和工作指令?
我有一个与datepicker绑定的文本框,我正在对其应用敲除验证 我需要澄清一下knockout是如何完成验证工作的,比如我首先扩展了required字段验证,然后是一些自定义验证 我主要担心的是,如果即使在mycase中要求的第一个条件失败之后,敲除仍执行验证条件,那么我就遇到了一个问题,即我得到了NULL异常 让我举个例子: Onload我的文本框将为空,没有日期。假设在加载时完成了完整的验证检查,我在拆分时得到错误作为self.startDate.split“/”,其中拆分未定义,因为没有可观察的数据 我需要澄清的是: 如何在加载时进行验证检查? 如果onload complete validation check完成,则意味着我们可以按顺序进行验证,即,一旦完成第一个条件,就应该像这样进行下一个检查Javascript 淘汰验证检查流程和工作指令?,javascript,jquery,validation,knockout.js,Javascript,Jquery,Validation,Knockout.js,我有一个与datepicker绑定的文本框,我正在对其应用敲除验证 我需要澄清一下knockout是如何完成验证工作的,比如我首先扩展了required字段验证,然后是一些自定义验证 我主要担心的是,如果即使在mycase中要求的第一个条件失败之后,敲除仍执行验证条件,那么我就遇到了一个问题,即我得到了NULL异常 让我举个例子: Onload我的文本框将为空,没有日期。假设在加载时完成了完整的验证检查,我在拆分时得到错误作为self.startDate.split“/”,其中拆分未定义,因为没
非常感谢您的任何建议。我终于得到了我想要的东西,当然是以一种复杂而笨拙的方式,每次我都想避免 我的代码: 通过严格的调试,我澄清了一些事情:- 扩展{所有这些都会按照成功的顺序进行检查,即如果第一个条件失败,它不会检查第二个内部扩展 第一点让我的工作向前看
简言之,敲除验证以if/else的方式工作。相关?遗憾的是,没有sWWW,我只是在寻找一种情况,即即使条件一失败,第二个验证条件也会执行。我希望它像if/else一样,而不是通常应该没有两个self.startDate和extend,我需要在一组中进行验证,我无法这样做。因此你不能拥有像self这样的东西。startDate{require:true,extender2:doSomething}好吧,我还没有完全尝试过,但这是我的一次尝试,最重要的是正如你在上面的评论self中提到的。startDate{require:true,extender2:doSomething}如果require:true失败,extender2甚至会异常。
self.startDate.extend({required: true}),
self.startDate.extend({
// here i have some complex logic where i `split` date `(like self.startDate().split('/') )` date and do the following .
})
self.Validation = ko.validatedObservable([
self.ForecastDateVM.extend({
required: { " enter something " },
validation: {validator: function (val, someOtherVal) {
if (val != undefined && someOtherVal() != undefined) {
var date1 = val.split('/');
var date2 = someOtherVal().split('/');
},
message: 'Must be greater ActualDate',
params: self.ActualDateVM
}
})
]);