0

Ich bin neu in Angular und habe keine Ahnung, was Angular < 4 ist ungefähr so, wie ich Angular5 verwende. Ich habe einfach Angular App durch Winkel @ Cli und in einer der Komponenten habe ich ein Formular unten hinzufügen versuche:Angular ng-required und ng-disabled Directives funktioniert nicht

<form name="myForm" novalidate > 
<input type="text" name="title" [(ngModel)]="question.title" ng-required="true" /><br> 
<input type="text" name="desc" [(ngModel)]="question.desc" ng-required="true" /> <br> 
<input type="button" (click)="PostQuestion()" ng-disabled="!myForm.title.$valid" name="submit" value="Post question" /> </form> 

aber das Problem hier ist die Taste (Beitrag Frage) nicht, selbst nachdem die deaktiviert zu werden Bedingung ist falsch, dh das Titelfeld ist leer. Was kann hier das Problem sein? Ist ng-Direktive abhängig von einer externen Bootstrap/Jquery-Datei? Danke im Voraus.

+0

1). Verwende '[disabled]' anstelle von 'ng-disabled'. 2) Verwende '[attr.required] =" isRequired == true? 'Required': null "' anstelle von 'ng-required' – hrdkisback

+0

Danke @hrdkisback, diese Direktiven funktionieren, aber kannst du mir sagen warum? Warum funktionieren ng-disabled und ng-required nicht wie überall in Tutorials, die sie verwenden? – DevUsman

+0

'ng-disabled' und' ng-required' werden nur in 'AngularJS' unterstützt, Sie können nicht in' Angular-Cli' verwenden, Problem, dass Sie anglejs Direktiven im Angular-Cli-Projekt verwenden. – hrdkisback

Antwort

0

Sie sollten stattdessen das Formular verwenden: $ invalid.

<form name="myForm" novalidate > 
    <input type="text" name="title" ng-model="question.title" ng-required="true" /><br> 
    <input type="text" name="desc" ng-model="question.desc" ng-required="true" /> <br> 
    <input type="button" ng-click="PostQuestion()" ng-disabled="myForm.$invalid" name="submit" value="Post question" /> 
</form> 
+0

danke für deine antwort aber immer noch kein glück, gleiches verhalten. – DevUsman

+0

Ich habe gerade Ihre ngModel-Attribute bemerkt. Sie sollten ng-Modell sein, ich habe den Code bearbeitet, um ihn korrekt anzuzeigen. – darkhouse

+0

[(ngModel)] funktionierte korrekt, aber ng-Model nicht. Ich habe deinen Code ausprobiert. Hier – DevUsman

0

Ich denke, dass Sie Winkel JS (1.x) und Winkel (4) Direktiven mischen.

In dem aktuellen Winkel dies, wie Sie ng-disabled \

<button type="submit" [disabled]="!ngForm.valid">Submit</button> 

nur ein Beispiel Dies ist verwenden. Bitte versuchen Sie, Ihren Code zu ändern