2013-07-10 39 views
2

我想設置消息在敲除的驗證功能中顯示,類似於這裏發生的事情:Knockout Validation Plugin Custom Error Message但沒有異步。在驗證功能中基於敲除驗證消息的設置

繼承人什麼樣的嘗試,但沒有驗證信息顯示。

this.name = ko.observable().extend({ 
    validation: { 
     validator: function (val) { 
      return { isValid:val === 'a', message: 'the value ' + val + ' is not a' }; 
     }, 
     message: 'I dont want this default message' 
    } 
}); 

JSFiddle

有沒有做到這一點的好辦法?

回答

5

關閉,如果規則通過,驗證器應返回true/false。我無法使message:顯示該值(即使設置爲函數參數undefined),因此如果要將值顯示回給用戶,則始終可以內聯錯誤消息。

this.name = ko.observable().extend({ 
    validation: { 
     validator: function (val) { 
      if (val !== 'a') { 
       this.message = 'the value ' + val + ' is not a'; 
       return false; 
      } 
      return true; 
     } 
    } 
}); 

http://jsfiddle.net/gEwEX/10/

+0

感謝完美的作品 –

+0

謝謝你幫我。 – Nishanthan