angularjs
2015-02-03 14 views 6 likes 
6

Nie otrzymuję wartości wyemitowanej przez fragment szablonu ani funkcjonującego sprawdzania poprawności. My Jade szablon:ngUwagi/sprawdzanie poprawności kątowej nie działa

doctype html 
html(lang='en', ng-app="Validate") 
    head 
    script(src='#{cdn_path}/angular.js/1.3.11/angular.js') 
    script(src='#{cdn_path}/angular.js/1.3.11/angular-messages.js') 
    script. 
     angular.module('Validate', ['ngMessages']); 
    body 
    .container 
     form(method="POST", action="/apply", name="myform", novalidate="") 
     pre myform.name.$error = {{ myform.name.$error }} 
     input.form-control(name="name", required="", pattern=".*[a-zA-Z].*", minlength=5) 
     ng-messages(for="myform.name.$error") 
      ng-message(when="required") Required! 
      ng-message(when="min") Too small! 
     input.btn(type='submit') 

Powstały HTML: http://plnkr.co/edit/McyMXwW1b2Ae7kkwQ1sP

Chciałbym uniknąć niestandardowych dyrektywy lub dużo w drodze dodatkowej Javascript. Co ja robię źle?

Odpowiedz

18

Dzieje się tak dlatego, że nie wiążą NG-modelu z wejściem :-)

<input name="name" ng-model="name" required="" pattern=".*[a-zA-Z].*" minlength="5" class="form-control"> 
     <ng-messages for="myform.name.$error"> 
     <ng-message when="minlength">Too small!</ng-message> 
     <ng-message when="required">Required!</ng-message> 

Plunker: - http://plnkr.co/edit/kmNkfhdVOHQsstj6dpPT?p=preview

+0

Hej, dlaczego negatywny? – squiroid

+0

A ty nie używałeś poprawnego komunikatu ng dla minimalnej długości to jest, gdy = "minlength" – squiroid

+0

Zastanawiam się, dlaczego to zostało odrzucone, to jest poprawne rozwiązanie !!! –

17

po prostu mają taki sam problem i rozwiązać go. Chcę się nim podzielić, żeby nikt nie stracił godziny takiej jak ja.

Należy zapewnić następujące:

1. załadować moduł ngMessages

<!-- Load Angular --> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js"></script> 

<!-- Load ngMessages --> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular-messages.min.js"></script> 

2. wstrzyknąć ngMessages naszego modułu aplikacji

angular.module("app", [ "ngMessages" ]); 

3. Spróbuj nowszy wersje Z jakiegoś powodu kod Douga Luce działa poprawnie, zmieniając wersje na np. 4.11!

+0

krok 2 rozwiązał mój problem .. dziękuję –

+0

kolejna godzina zmarnowana tutaj, dzięki za pomoc by nie zrobić 2 :) – user230910

+0

To samo, rozwiązało to. Dzięki za wysyłanie @mnishiguchi, czasami ten sam problem może być spowodowany przez coś innego :) –

Powiązane problemy