2014-12-15 5 views
6

Ich habe eine einfache Seite mit dem Bereich Validierung, so etwas wie dieses: employee.html und das Feld seine Validierung, aber wenn ich den gleichen Code hinzugefügt und rief die gleiche Seite mit ng- das validieren umfassen funktioniert nichtValidierung funktioniert nicht, wenn seine in ng-umfassen

without ng-include Validate funktioniert:

<form name="form" class="form-horizontal" ng-validate="create(data)" novalidate> 
    <div class="row"> 
     <div class="col-xs-6"> 
      <div class="form-group"> 
       <label for="" class="col-xs-6 control-label">First Name:</label> 
        <div class="col-xs-6"> 
        <input name="first_name" type="text" class="form-control" ng-model="data.first_name" placeholder="First name" ng-required="true"> 
         <div class="alert alert-danger" ng-show="form.$submitted && form.first_name.$error.required">Enter first name.</div> 
        </div> 
      </div> 
     </div> 
    </div> 
</form> 

with ng-include Validate nicht funktioniert hat:

das hboard.html

<div class="container"> 
    .................... 
    .................. 
    <ng-include src="employee.html"></ng-include>   
</div> 

meine Frage ist: Wie kann ich die Validierung zu machen arbeitet in ng-umfassen?

+1

Ich denke, es hängt damit zusammen, dass 'ng-include' seinen eigenen Bereich erstellt, aber ich brauche mehr Kontext (Geige wäre großartig). – Rasalom

+0

Ist die Validierung das einzige, was nicht funktioniert? –

+0

ja Validierung das einzige, was nicht funktioniert –

Antwort

0

ja Ihre $submitted funktioniert nicht angular version 1.3. Wenn Sie die Nachricht anzeigen müssen, ob nur das Formular gesendet wird, können Sie eine Variable beibehalten, um festzustellen, ob das Formular gesendet wurde oder nicht.

zu tun, dass

in Controller Testfunktion

$scope.create = function(data) { 
    $scope.formSubmitted = true; 
} 

in Gebrauch Validierungsnachricht formSubmitted statt $submitted

<div class="alert alert-danger" ng-show="formSubmitted && form.first_name.$error.required">E.. 

hier ist die Plunker Arbeits


Aber wenn Sie Winkel 1.3 oder höher Version

Winkel einführen werden unter Verwendung eines $submitted in Winkel 1.3.x und können Ihre mit einer älteren Version Winkel versuchen, Winkel Upgrade wird Ihr Problem lösen.

hier ist die Changes of the 1.3 - überprüfen Sie bitte die

neue Funktion: Hinzufügen neuer eingereichten $ Zustand Formen

<div class="alert alert-danger" ng-show="form.$submitted && form.first_name.$error.required">Enter first name.</div> 

hier ist die Arbeits plunker

+0

lassen Sie mich versuchen und aktualisieren Sie –

+0

@AbuHamzah Ich aktualisierte meine Antwort bitte einen Blick :) –

+0

Ich benutze 'AngularJS v1.2.23' ... wird dauern ein Blick mehr Detail –

0

Sie Bootstrap verwenden können Validierung in ui wie diese

<form name="personalinformation"> 

<label for="fname"> First Name<span style="color:red" ng-show="personalinformation.firstname.$error.required">*</span></label> 
<input type="text" class="form-control" id="" placeholder="First Name" ng-model="PerInfo.FirstName" required name="firstname"> 

</form> 

und wenn Sie die Validierung von Winkel Sie validationFunction und ng Sie auf den Wert des Textes übergeben oder ein anderes Element in controller.If Eingabetyp erstellen können falsch ist dann cal Sie Wert in ng-Show füllen = „true“

Verwandte Themen