Javascript 使用敲除进行现场验证

Javascript 使用敲除进行现场验证,javascript,typescript,knockout.js,Javascript,Typescript,Knockout.js,我需要使用带有typescript的Knockout为字段创建验证 我需要我的字段是必填的,并且它也必须大于0,但前提是用户从下拉列表中选择特定的值 使用下面的“我的代码”时 '此字段为必填字段,必须大于0' 每次都会弹出,即使表单字段的默认值为空 有人能帮我吗?非常感谢 到目前为止,我得到的是: self.FormData.Income.sum_others.extend({ required: { onlyif: ()

我需要使用带有typescript的Knockout为字段创建验证

我需要我的字段是必填的,并且它也必须大于0,但前提是用户从下拉列表中选择特定的值

使用下面的“我的代码”时

'此字段为必填字段,必须大于0'

每次都会弹出,即使表单字段的默认值为空

有人能帮我吗?非常感谢

到目前为止,我得到的是:

        self.FormData.Income.sum_others.extend({
            required: {
                onlyif: () => { return thisFormData.Income.SourceOfIncome() == 4 },
                params: true,
                message: 'this field is required'
            },
            min: {
                onlyif: () => { return this.FormData.Income.SourceOfIncome() == 4 },
                params: 1,
                message: 'This field is required and must be greater than 0'
            }
        });
默认情况下,knockout希望“设置”select字段值。因此,它的行为就像被触摸过一样,并触发验证。尝试将valueAllowUnset:true属性添加到选择字段。默认情况下,knockout希望“设置”select字段值。因此,它的行为就像被触摸过一样,并触发验证。尝试将valueAllowUnset:true属性添加到选择字段。