Knockout Validation onlyif对象没有函数和模式验证

时间:2016-07-21 08:13:05

标签: validation if-statement design-patterns knockout.js required

当标题为空时,我想要priceMax。

我有代码

self.searchParameters = {
    title: ko.observable().extend({
      refreshCountOffers: 500
    }),
    priceMax: ko.observable().extend({
      required: {
        onlyIf: function() {
          return  title==null;
        }
      },
      refreshCountOffers: 500
    })
  };

,但我收到错误'标题未定义'。

当用户输入第一个字母时,如何禁用显示模式验证错误的选项?

postCode: ko.observable().extend({
  required: true,
  pattern: {
    message: 'Post code is not valid',
    params: '[0-9]{2}-[0-9]{5}'
  },
  refreshCountOffers: 500
})

我的jsfiddle

1 个答案:

答案 0 :(得分:0)

onlyIf检查有两个问题:

  1. 您需要限定title属性
  2. title是可观察的,因此您需要访问值
  3. 以下代码解决了这两个问题:

    onlyIf: function() {
        return self.searchParameters.title();
    }