-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Zedz
addikt
Sziasztok,
Angular 2 mesterekhez ( és igazából bárkihez aki foglalkozott vele
) fordulnék most.
A cél, hogy async megnézzem egy formnál, hogy a username már létezik-e az adatbázisban.A componentem azon része ami meghívja a validátort, így fest:
'username': [null, [
Validators.required, Validators.minLength(4), Validators.maxLength(12), this.ussr.getUserNameFromServer
]],A service pedig így:
import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
import { FormControl } from '@angular/forms';
import 'rxjs/add/operator/map';
@Injectable()
export class UserService {
constructor (private http: Http) {}
private extractData (res: Response) {
let body = res.json();
return body || { };
}
getUserNameFromServer = (c: FormControl) => {
const promise = new Promise (
(resolve, reject) => {
this.http.get('https://jsonplaceholder.typicode.com/users/1')
.map(this.extractData)
.subscribe(
(res: any) => {
if (c.value == res.username) {
console.log('taken')
resolve({'usernameTaken': true})
} else {
console.log('ok')
resolve(null)
}
},
err => { console.log(err) }
)
}
);
return promise;
}
}A probléma az, hogy a formom mindig invalid lesz. Több SO-s postban is így csinálják és elvileg végül ment mindenkinek, illetve pár blog cikk alapján is valahogy így kellene. Esetleg valakinek van ötlete, hogy mi lehet a baj?
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Milyen autót vegyek?
- Brogyi: CTEK akkumulátor töltő és másolatai
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Békéscsaba és környéke adok-veszek-beszélgetek
- Tarr Kft. kábeltv, internet, telefon
- Nem kilincselhet tovább a Tesla Kínában
- Okos Otthon / Smart Home
- AMD Navi Radeon™ RX 9xxx sorozat
- Jogász topik
- További aktív témák...
- Akciós! Lenovo ThinkPad P15 Gen 1 Intel i7-10875H 32GB 512GB Nvidia Quadro RTX 3000 1 év garancia
- LG 55G4 - 55" OLED evo - 4K 144Hz & 0.1ms - MLA Plus - 3000 Nits - NVIDIA G-Sync - FreeSync Premium
- HIBÁTLAN iPhone 14 Pro 512GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen
- Gyönyörű iPhone 13 128GB Fehér - 12 hónap JÓTÁLLÁS - Kártya független
- Thermal Grizzly Aeronaut paszta 3,9g /BONTATLAN/Több darab/Számlával/
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest
) fordulnék most.
