Wie verbieten Sie freien Text in MD-Autocomplete? Ich möchte, dass die Benutzer nur in der Lage sind, aus der Liste der Elemente auszuwählen oder eine ng-Nachricht basierend auf einer Validierung hinzuzufügen, wenn das Element nicht aus der Liste ausgewählt ist. Angular material md-autocomplete demoWie kann man freien Text in der md-Autocomplete-Komponente von eckigem Material verbieten?
Antwort
Sie können im laufenden Betrieb neue Objekte zu der Liste hinzufügen:
<md-autocomplete flex required="required"
md-input-name="id"
md-selected-item="newItem.item"
md-search-text="itemSearch.queryText"
md-items="itemin itemSearch.querySearch()"
md-item-text="item.name"
md-input-minlength="2"
md-floating-label="enter here">
<md-item-template>
<span md-highlight-text="itemSearch.queryText"
md-highlight-flags="^i">{{item.name}}</span>
</md-item-template>
<md-not-found>
Sorry, this is not in our database
</md-not-found>
<div ng-messages="formName.id.$error">
<div ng-message="required">You must enter a name</div>
<div ng-message="minlength">You must type at least two characters</div>
</div>
</md-autocomplete>
edit: nur nach innen setzen Ihre Nachricht <md-not-found>
Nein, ich wollte ihnen einen Validierungsfehler geben, wählen Sie bitte nur aus dem Dropdown. – navneet35371
Dies ist möglich, aber einige Abhilfen muss. Sie führen die Validierung grundsätzlich manuell in selectedItemChange
und searchTextChange
durch.
function searchTextChange(text) {
self.form.id.$error.stateMissing = true;
$log.info('Text changed to ' + text);
}
function selectedItemChange(item) {
$log.info(self.form.id);
if (item === null) {
$log.info('invalid');
} else {
$log.info('valid');
delete self.form.id.$error.stateMissing;
self.form.id.$validate();
}
}
Der Fehler wird in der stateMissing
Eigenschaft festgelegt und dann in der Auszeichnungs ng-message
verwendet. Es ist wichtig, den Formularnamen festzulegen, damit Sie auf das Formular in Ihrem Controller verweisen können.
<form name="ctrl.form" novalidate>
<p>Use <code>md-autocomplete</code> to search for matches from local or remote data sources.</p>
<md-autocomplete md-autoselect md-select-on-focus md-floating-label="Select a state" ng-disabled="ctrl.isDisabled" cache="ctrl.noCache" md-selected-item="ctrl.selectedItem" md-input-name="id" md-search-text-change="ctrl.searchTextChange(ctrl.searchText)" md-search-text="ctrl.searchText" md-items="item in ctrl.querySearch(ctrl.searchText)" md-item-text="item.display" md-min-length="0" md-selected-item-change="ctrl.selectedItemChange(ctrl.selectedItem)">
<md-item-template>
<span md-highlight-text="ctrl.searchText" md-highlight-flags="^i">{{item.display}}</span>
</md-item-template>
<md-not-found>
No states matching "{{ctrl.searchText}}" were found.
<a ng-click="ctrl.newState(ctrl.searchText)">Create a new one!</a>
</md-not-found>
<div ng-messages="ctrl.form.id.$error">
<div ng-message="stateMissing">You must select a state</div>
</div>
</md-autocomplete>
- 1. Paginierungsanweisung in eckigem Material
- 2. Wie gestalte ich Karten in eckigem Material?
- 3. Wie wird Card in eckigem Material ausgerichtet?
- 4. Mosaik-Layout mit eckigem Material
- 5. Toast Positionierung in eckigem Material Seite
- 6. Meine eigenen Stile in eckigem Material ui
- 7. Wie kann ich den Text in einem gestreckten md-Button mit eckigem Material ausrichten?
- 8. Icon-Registerkarten mit eckigem Material erstellen?
- 9. Was ist der Unterschied zwischen eckigem Material und Polymer?
- 10. Binden Sie mdTabs von eckigem Material an eine Bereichseigenschaft
- 11. Wie richten Sie die Radiobuttons horizontal in eckigem Material aus?
- 12. Wie erstelle ich ein Kartenraster mit eckigem Material?
- 13. Versucht, ein Raster von Karte mit eckigem Material zu haben
- 14. Custom Styles auf Eingaben mit eckigem Material 2
- 15. jQuery UI Autocomplete: wie man freien Text erlaubt
- 16. Wie berechnet man freien Speicherplatz?
- 17. Wie ändere ich die Unterstreichfarbe der ausgewählten Registerkarte in eckigem Material?
- 18. Wie man eine reaktive Nav-Bar mit eckigem Material 2 macht?
- 19. Kalendersymbol wird nicht mit eckigem Material angezeigt. md-datepicker Direktive
- 20. Hinzufügen von eckigem Material zum ASP.NET CORE-Projekt in Visual Studio 2015
- 21. Drucken der freien Monade
- 22. jQuery UI Autocomplete-Verhalten. Wie man freien Text bei der Eingabe sucht?
- 23. Wie schreibe ich CSS für einen bestimmten Haltepunkt in eckigem Material
- 24. Was kann getan werden, um das IE11-Verhalten mit eckigem Material zu verbessern?
- 25. Autocomplete verbieten kostenlose Texteingabe?
- 26. Wie erkennt man einen freien Teil von UITableView?
- 27. Wie können benutzerdefinierte Indizes <md-tab> Elementen aus eckigem Material zugewiesen werden?
- 28. Wie zu verbieten Zuordnung
- 29. Installieren von eckigem Material, "Fehler beim Instanziieren des Moduls ngMaterial" obwohl ich eckige Version 1.3.0 verwende
- 30. Wie findet man einen freien/löschenden Unterschied, der von Valgrind in einem Multithread-Programm gemeldet wird?
was meinst du mit freiem Text? – optimus
Wie Benutzer kann keinen Wert in der Autocomplete eingeben. Sie müssen aus dem Autovervollständigen Vorschlag auswählen, dies als ein gültiger Eintrag – navneet35371