2015-05-12 3 views
1

у меня есть супер простой код, который я пытаюсь проверить:ошибки проверки Aurelia проверки, но не сообщение об ошибке

<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> 

Со следующим ViewModel

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, но они не записываются в пользовательский интерфейс.

ответ

2

Если ваш браузер позволяет это сделать, найдите JSPM-пакеты в источниках и поместите a breakpoint here, это точка зрения, в которой стратегия просмотра ищет метки для добавления сообщений об ошибках. Если бы у вас был этот код в открытом доступе, я был бы рад найти вас.

Кроме того, какую версию аурелии/аурелии-валидации вы используете?

И, наконец, вы изменили свой образец перед публикацией?

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

Эти два атрибута противоречивы. Он привязывает значение к testField, но затем вы используете атрибут validate для явного отображения сообщений проверки для свойства «Описание».

+0

Ссылка 404, вы можете уточнить пожалуйста? –

+0

@SamShiles К сожалению, библиотека проверки достоверности Aurelia полностью переписана (все еще в альфа на момент написания), и вопрос, ответ и ссылка устарели. –