2014-01-14 29 views
4

我無法讓knockout validate添加一個錯誤css類到我的輸入。KnockoutJS驗證 - 獲取元素的css類添加

我有它配置是這樣的:在獲取添加

var knockoutValidationSettings = { 
    insertMessages: true, 
    decorateElement: true, 
    errorMessageClass: 'error', 
    errorElementClass: 'error', 
    errorClass: 'error', 
    errorsAsTitle: true, 
    parseInputAttributes: false, 
    messagesOnModified: true, 
    decorateElementOnModified: true 
}; 

data.vm = new vmFunc(); 

ko.applyBindingsWithValidation(data.vm, $('#claimsSettingsSubmodule')[0], knockoutValidationSettings); 

跨度與適當的CSS類,但輸入保持不變。

輸入的HTML看起來像這樣

<input type="text" id="claims-settings-referrer-name" data-bind="value: referrerName" /> 

這似乎工作,如果我這樣做

<input type="text" id="claims-settings-referrer-name" data-bind="value: referrerName, validationElement: referrerName" /> 

但是這不是最佳的,至少可以說。

+0

你可以發佈你的視圖模型嗎?在哪裏應用實際驗證元素? – Matthew

+0

小提琴總是有幫助 –

+0

加 - 在小提琴中工作。這是我用過的最令人沮喪的插件。 –

回答

3

爲了與自動裝飾你的輸入元素errorElementClass你需要設置decorateInputElement屬性trueknockoutValidationSettings

var knockoutValidationSettings = { 
    insertMessages: true, 
    decorateElement: true, 
    errorMessageClass: 'error', 
    errorElementClass: 'error', 
    errorClass: 'error', 
    errorsAsTitle: true, 
    parseInputAttributes: false, 
    messagesOnModified: true, 
    decorateElementOnModified: true, 
    decorateInputElement: true 
}; 

decorateElementOnModified只與validationElement綁定,你已經注意到一起工作。