我在firebase中有一组数据: Username:'username‘和Password:'password’
我已经构建了一个带有两个文本框的角形表单。如何将用户输入的值与存储在数据库中的值进行比较,如果不匹配,则在单击按钮时返回错误?请让我知道,我一定遗漏了一些非常基本的东西。
下面是我的代码:成员-凭证.组件.ts
import { Component, OnInit } from '@angular/core';
import {CredentialService } from '../../services/credential.service';
import { Credential } from '../../models/credentials';
@Component({
selector: 'app-member-credentials',
templateUrl: './member-credentials.component.html',
styleUrls: ['./member-credentials.component.css']
})
export class MemberCredentialsComponent implements OnInit {
credentials: Credential[];
Username ='';
Password = '';
public errorMsg = '';
constructor(private credentialService: CredentialService) { }
ngOnInit() {
this.credentialService.getCredentials().subscribe(credentials =>{
this.credentials=credentials;
})
}
login(){
//Where I want to implement the click.
}
}
member-credentials.component.html
<div *ngFor="let credential of credentials" class="container" >
<div class="title">
Welcome
</div>
<div class="panel-body">
<div class="row">
<div class="input-field col s12">
<input type="text" class="validate"
[(ngModel)]="credential.Username" placeholder="User Name">
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input type="password" class="validate"
[(ngModel)]="credential.Password" placeholder="Password">
</div>
</div>
<!--<span>{{errorMsg}}</span>-->
<button (click)="login()"
class="btn waves-effect waves-light"
type="submit" name="action">Login</button>
</div>
</div>
credential.service.ts
import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreCollection,
AngularFirestoreDocument } from 'angularfire2/firestore';
import { Observable } from 'rxjs/Observable';
import { Credential } from '../models/credentials';
@Injectable()
export class CredentialService {
credentialCollection: AngularFirestoreCollection<Credential>;
credentials: Observable<Credential[]>;
constructor(public afs: AngularFirestore) {
this.credentials = this.afs.collection('MemberDetails').valueChanges();
}
getCredentials(){
return this.credentials;
}
} 发布于 2018-02-11 21:01:26
首先,您需要拥有注册用户,并为此登录到firebase控制台并激活授权。
在此之后,安装angularfire2模块以使用身份验证方法,该方法将在firebase身份验证控制台中创建相同的登录数据。
它看起来有点太多的工作,但很简单。我建议你看看youtube上的教程。
如果你被卡住了,给我留言,我可以解释一些细节,因为我知道这对新人来说可能是令人沮丧的。
Ps: auth方法会做比较,所以你不需要在前端做比较。检查这个:
https://stackoverflow.com/questions/47236646
复制相似问题