我在一个新的用户注册屏幕中从用户那里获取数据。单击注册按钮后,数据将保存在数据库中。我正在使用一个名为promocode的输入字段来检查用户的促销代码。这是我需要的:
我已经在数据库表中有一组促销代码。如果用户键入促销代码,并且特定代码存在于我的数据库表中,则可以允许用户在我的应用程序中注册。假设用户键入的促销代码不在我的数据库表中,它应该将toast消息显示为无效的促销代码,因此不允许该用户注册。此促销代码验证应在用户填写所有详细信息并单击提交按钮后进行。
这是我到目前为止尝试过的方法:
在我的HTML中:
<ion-item>
<ion-icon name="ios-hand" class="iconstyle" item-left></ion-icon>
<ion-label color = "textcolor" floating>Reseller Promo Code</ion-label>
<ion-input type="text" class="textcolor" [(ngModel)] = "vm.promocode" formControlName = "promocode" maxlength = "15" tabindex="2" (keyup)="moveFocus($event,query, false)" >
</ion-input>
</ion-item>在我的ts文件中:
import { Component } from '@angular/core';
import {IonicPage, NavController, NavParams } from 'ionic-angular';
import {SignupService} from '../../services/signup.service';
import { MessageService } from '../../services/message.service';
import { BroadCastService } from '../../services/broadcast.service';
import { isNullOrUndefined } from 'util';
import { Signup } from '../../models/signup';
import { FormGroup, FormControl, Validators, AbstractControl} from '@angular/forms';
import { LoginPage } from '../login/login';
@IonicPage()
@Component({
selector: 'page-signup',
templateUrl: 'signup.html',
providers: [SignupService]
})
export class SignupPage{
formsignup: FormGroup;
submit(){
if (this.formsignup.valid) {
this.signupservice.savesignup(this.vm).subscribe(res=>{
console.log(res);
this.message.alert("Your account has been created successfully");
this.resetForm(this.formsignup);
this.navCtrl.push(LoginPage);
});
}
else{
this.validateFormControl(this.formsignup);
}
}这是我的service.ts文件,我在其中将用户详细信息发布到服务器并将其保存在数据库中。
import { Injectable } from "@angular/core";
import { DataService } from "./data.service";
@Injectable()
export class SignupService {
constructor(private dataservice: DataService) {
}
savesignup(formdetails:any){
return this.dataservice.post('/api/Login/Register', formdetails);
}
}在我的模型类中,我使用了这个提升代码,如下所示:
signup.ts:
export class Signup{
promocode: string;现在一切都很好。我的所有数据都保存在数据库中,我可以用注册的帐户登录。但是我不知道如何实现这个功能。我是第一次接触Ionic。
发布于 2018-10-12 11:27:13
你可以(或者“应该”)创建你的PromoService (提供者),一个看起来应该像这样的方法应该可以工作。
public GetPromo(code: string): Promise<any> { //Can be strongly typed if you want to implement a class or interface for a Promo
var url = '/GetPromo'; //your endpoint's url.
var args: RequestOptionsArgs = {
method: 'GET',
params: {
code : code //Your parameter. You can add more properties for multiple parameters.
}
};
return this.http.request(url, args).map(res => res.json()).toPromise();
}对于post请求,参数附加到body。
var args: RequestOptionsArgs = {
method: 'POST',
body: {
code : code //Your parameter. You can add more properties for multiple parameters.
}
};https://stackoverflow.com/questions/52757354
复制相似问题