Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 淘汰验证检查流程和工作指令?_Javascript_Jquery_Validation_Knockout.js - Fatal编程技术网

Javascript 淘汰验证检查流程和工作指令?

Javascript 淘汰验证检查流程和工作指令?,javascript,jquery,validation,knockout.js,Javascript,Jquery,Validation,Knockout.js,我有一个与datepicker绑定的文本框,我正在对其应用敲除验证 我需要澄清一下knockout是如何完成验证工作的,比如我首先扩展了required字段验证,然后是一些自定义验证 我主要担心的是,如果即使在mycase中要求的第一个条件失败之后,敲除仍执行验证条件,那么我就遇到了一个问题,即我得到了NULL异常 让我举个例子: Onload我的文本框将为空,没有日期。假设在加载时完成了完整的验证检查,我在拆分时得到错误作为self.startDate.split“/”,其中拆分未定义,因为没

我有一个与datepicker绑定的文本框,我正在对其应用敲除验证

我需要澄清一下knockout是如何完成验证工作的,比如我首先扩展了required字段验证,然后是一些自定义验证

我主要担心的是,如果即使在mycase中要求的第一个条件失败之后,敲除仍执行验证条件,那么我就遇到了一个问题,即我得到了NULL异常

让我举个例子:

Onload我的文本框将为空,没有日期。假设在加载时完成了完整的验证检查,我在拆分时得到错误作为self.startDate.split“/”,其中拆分未定义,因为没有可观察的数据

我需要澄清的是:

如何在加载时进行验证检查? 如果onload complete validation check完成,则意味着我们可以按顺序进行验证,即,一旦完成第一个条件,就应该像这样进行下一个检查
非常感谢您的任何建议。

我终于得到了我想要的东西,当然是以一种复杂而笨拙的方式,每次我都想避免

我的代码:

通过严格的调试,我澄清了一些事情:-

扩展{所有这些都会按照成功的顺序进行检查,即如果第一个条件失败,它不会检查第二个内部扩展

第一点让我的工作向前看


简言之,敲除验证以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
                        }
                    })
            ]);