在淘汰赛中验证问题

时间:2014-08-20 12:09:41

标签: validation knockout.js knockout-validation

我在名称输入字段字段上进行验证,当您单击addFields时,您可以看到它。我在点击Add Branch按钮之前遇到验证消息的问题,因为在addFields函数中我将name的值设置为空,因为如果我不点击编辑并进行更改,然后单击添加或取消,然后单击添加字段,然后它在输入字段中显示以前的值。我想在点击添加分支时显示验证消息,并希望在点击addFields时输入字段为空,并且在点击编辑时显示值。我如何一起实现这些场景?

这里是链接

 `http://jsfiddle.net/sohimohit/43zkoszu/13/` 

2 个答案:

答案 0 :(得分:1)

您可以在错误对象上使用showAllMessages(false)

http://jsfiddle.net/43zkoszu/16/

尽管我必须说你这样做的方法有点奇怪。 Normaly与MVVM你有一个单独的模型,每次你想要注册一个新的

创建一个新的

答案 1 :(得分:0)

正如@Marius已经说过,你需要使用isModifed(false)来改变字段。所以,你的代码应该是这样的

self.AddField = function(){ 
        self.BranchId("");
        self.BranchId.isModified(false);

        self.name("");
        self.name.isModified(false);

        self.description("");
        self.description.isModified(false);

        // .... etc ..

        self.show(false);
        self.show.isModified(false);
        self.showFields(true);
        self.showFields.isModified(false);
    }

另外,请注意,您的AddField代码中有逗号(,)而不是分号(;)。