2015-05-12 92 views
1

我有一個超級簡單的代碼,我試圖驗證:奧裏利亞驗證驗證錯誤,但沒有錯誤消息

<template> 
    <form role="form" submit.delegate="submit()" validate.bind="validation">  
     <div class="form-group">  
      <label>Test Field</label> 
      <input type="text" value.bind="testField" class="form-control" validate="Description" placeholder="What needs to be done?" /> 
      <button type="submit">Submit</button> 
     </div> 
    </form> 
</template> 

用下面的視圖模型

define(["require", "exports", "../scripts/HttpClient", "aurelia-validation", "aurelia-framework"], function(require, exports, HttpClient) { 
    var AureliaValidation = require('aurelia-validation').Validation; 

    var MyViewModel = (function() { 
     function MyViewModel(httpClient, aureliaValidation, isReadyCallback) { 
      this.httpClient = httpClient; 
      var self = this; 

      self.setupValidation(aureliaValidation); 
     } 
     MyViewModel.prototype.activate = function (params, queryString, routeConfig) { 
     }; 

     MyViewModel.prototype.setupValidation = function (validation) { 
      this.testField = ""; 
      this.validation = validation.on(this).ensure('testField'); 

      //validation 
      // .on(this.serviceMetadata.ServiceData[0]) 
      // .ensure('Value'); 
      this.validation = this.validation.notEmpty().maxLength(3); 
     }; 

     MyViewModel.prototype.submit = function() { 
      debugger; 
      if (this.validation.checkAll()) { 
       //Do Something 
      } 
      return null; 
     }; 
     MyViewModel.inject = [HttpClient, AureliaValidation]; 
     return MyViewModel; 
    })(); 


    return MyViewModel; 
}); 

現在,我得到它工作大多數情況下,驗證在提交檢查時顯示錯誤,文本框輪廓顏色發生變化等,但不會將驗證錯誤消息注入到DOM中。也沒有腳本錯誤消息,我該如何解決這個問題?

是的,我可以在validationProperties中看到驗證消息,但它們沒有寫入UI。

回答

2

如果您的瀏覽器允許,請在源代碼中找到JSPM軟件包並放入a breakpoint here,這是查看策略查找標籤以將錯誤消息附加到的點。如果你有這個代碼公開,我很樂意看看你。

此外,您正在使用哪種版本的aurelia/aurelia-validation?

最後,您是否在發佈前修改了您的示例?

`<input value.bind="testField" validate="Description" />` 

這兩個屬性是矛盾的。它將值綁定到testField,但是然後使用validate屬性顯式地顯示屬性「Description」的驗證消息。

+0

鏈接是404,你能更新嗎? –

+0

@SamShiles不幸的是,aurelia驗證庫已經被完全重寫(在撰寫本文時仍處於alpha版),問題,答案和鏈接現在已經過時。 –