【发布时间】:2018-05-20 08:15:54
【问题描述】:
我想制作一个只能由一个用户申请一天的报告,因此用户不能在同一日期发布双重记录。 这是代码
// 我使用 ionic 和 firebase
这是html的代码
<ion-header>
<ion-navbar>
<ion-title>laporanharian</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-datetime displayFormat="MMM DD YY" [(ngModel)]="myDate" #mydate></ion-datetime>
<ion-item>
<ion-label floating>Porsi Karbohidrat</ion-label>
<ion-input type="number" #porsiKarbohidrat></ion-input>
</ion-item>
<ion-item>
<ion-label floating>Porsi Protein Hewani</ion-label>
<ion-input type="number" #porsiProteinHewani></ion-input>
</ion-item>
<ion-item>
<ion-label floating>Porsi Protein Nabati</ion-label>
<ion-input type="number" #porsiProteinNabati></ion-input>
</ion-item>
<ion-item>
<ion-label floating>Porsi Lemak</ion-label>
<ion-input type="number" #porsiLemak></ion-input>
</ion-item>
</ion-list>
<button ion-button full (click)="submitLaporan()">Submit</button>
</ion-content>
这是 ts 的代码
import { Component, ViewChild } from '@angular/core';
import { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';
import { AngularFireAuth } from 'angularfire2/auth';
import { AngularFireDatabase} from 'angularfire2/database';
/**
* Generated class for the LaporanharianPage page.
*
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
@Component({
selector: 'page-laporanharian',
templateUrl: 'laporanharian.html',
})
export class LaporanharianPage {
myDate: String = new Date().toISOString();
id : string;
constructor(private alertctrl :AlertController ,private db : AngularFireDatabase,public fire :AngularFireAuth,public navCtrl: NavController, public navParams: NavParams) {
}
@ViewChild('mydate') mydate;
@ViewChild('porsiKarbohidrat') porsiKarbohidrat;
@ViewChild('porsiProteinHewani') porsiProteinHewani;
@ViewChild('porsiProteinNabati') porsiProteinNabati;
@ViewChild('porsiLemak') porsiLemak;
ionViewDidLoad() {
console.log('ionViewDidLoad LaporanharianPage');
}
alert(message : string)
{
this.alertctrl.create({
title: 'info !',
subTitle: message,
buttons: ['OK']
}).present();
}
submitLaporan()
{
this.id = this.fire.auth.currentUser.uid;
this.db.list('/laporan/'+this.id).push({
mydate : this.mydate.value,
porsiKarbohidrat : this.porsiKarbohidrat.value,
porsiProteinHewani : this.porsiProteinHewani.value,
porsiProteinNabati : this.porsiProteinNabati.value,
porsiLemak : this.porsiLemak.value,
})
this.alert("Sukses")
}
}
我只是使用标准代码将数据推送到 Firebase。 使用此代码,我可以在同一天上传双重报告。
【问题讨论】:
-
将日期保存在数据库中,如果今天>此日期,请在服务器端检查
-
怎么做?
标签: angular typescript firebase firebase-realtime-database angularfire