Here is my Component.ts file
import { Component, Input } from '@angular/core';
import { FormControl } from '@angular/forms';
import { ValidationService } from '../../providers/services/validation-service';
/**
* Generated class for the ControlMessagesComponent component.
*
* See https://angular.io/api/core/Component for more info on Angular
* Components.
*/
@Component({
selector: 'control-messages',
template: `<div *ngIf="errorMessage !== null">{{errorMessage}}</div>`
})
export class ControlMessagesComponent {
@Input() control: FormControl;
constructor() {}
get errorMessage() {
for (let propertyName in this.control.errors) {
if (this.control.errors.hasOwnProperty(propertyName) && this.control.touched) {
return ValidationService.getValidatorErrorMessage(propertyName, this.control.errors[propertyName]);
}
}
return null;
}
}
and Here is my App.module.ts file
import { BrowserModule } from '@angular/platform-browser';
import { ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { BundlesAssortedPage } from '../pages/bundles-assorted/bundles-assorted';
import { AllCategoriesPage } from '../pages/all-categories/all-categories';
import { MyCartPage } from '../pages/my-cart/my-cart';
import { CheckoutPage } from '../pages/checkout/checkout';
import { CategoryDetailPage } from '../pages/category-detail/category-detail';
import { MyAddressesPage } from '../pages/my-addresses/my-addresses';
import { AddRemovePopoverPage } from '../pages/add-remove-popover/add-remove-popover';
import { OrderHistoryPage } from '../pages/order-history/order-history';
import { ReOrderDetailsPage } from '../pages/re-order-details/re-order-details';
import { OurLocationPage } from '../pages/our-location/our-location';
import { MyFavouritesPage } from '../pages/my-favourites/my-favourites';
import { SignupPage } from '../pages/signup/signup';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { ServicesProvider } from '../providers/services/services';
import { LoginPage } from '../pages/login/login';
import { ProductWizardPage } from '../pages/product-wizard/product-wizard';
import { ForgotPasswordPage } from '../pages/forgot-password/forgot-password';
import { AccountVerificationPage } from '../pages/account-verification/account-verification';
import { NetworkProvider } from '../providers/network/network';
import { Network } from '@ionic-native/network';
import { ProductDetailsPage } from '../pages/product-details/product-details';
import { AddAddressPage } from '../pages/modal/add-address/add-address';
import { GlobalStringsProvider } from '../providers/global-strings/global-strings';
import { OrderReviewPage } from '../pages/order-review/order-review';
import { OrderThankyouPage } from '../pages/order-thankyou/order-thankyou';
import { ValidationService } from '../providers/services/validation-service';
import { ControlMessagesComponent } from '../components/control-messages/control-messages';
import { ionicComponents } from '../providers/ionic-components/ionic-components';
import { DesignPizzaPage } from '../pages/design-pizza/design-pizza';
import { Connectivity } from '../providers/connectivity-service/connectivity-service';
import { Geolocation } from '@ionic-native/geolocation';
import { StoreInfoModalPage } from '../pages/store-info-modal/store-info-modal';
import { AccountSettingsPage } from '../pages/account-settings/account-settings';
import { ComboDetailsPage } from '../pages/combo-details/combo-details';
import { PhoneVerificationPage, FormatTimePipe } from '../pages/phone-verification/phone-verification';
import { MainProvider } from '../providers/main/main';
@NgModule({
declarations: [
MyApp,
// ControlMessagesComponent,
// HomePage,
// BundlesAssortedPage,
// ComboDetailsPage,
// StoreInfoModalPage,
// AllCategoriesPage,
// ProductWizardPage,
// CategoryDetailPage,
// ProductDetailsPage,
// MyCartPage,
// DesignPizzaPage,
// CheckoutPage,
// OrderReviewPage,
// OrderThankyouPage,
// AddAddressPage,
// MyAddressesPage,
// AddRemovePopoverPage,
// OrderHistoryPage,
// ReOrderDetailsPage,
// OurLocationPage,
// MyFavouritesPage,
// AccountSettingsPage,
// LoginPage,
// SignupPage,
// PhoneVerificationPage,
// FormatTimePipe,
// ForgotPasswordPage,
// AccountVerificationPage
],
imports: [
BrowserModule,
ReactiveFormsModule,
HttpClientModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
// HomePage,
// BundlesAssortedPage,
// ComboDetailsPage,
// StoreInfoModalPage,
// AllCategoriesPage,
// ProductWizardPage,
// CategoryDetailPage,
// ProductDetailsPage,
// MyCartPage,
// DesignPizzaPage,
// CheckoutPage,
// OrderReviewPage,
// OrderThankyouPage,
// AddAddressPage,
// AddRemovePopoverPage,
// MyAddressesPage,
// AddRemovePopoverPage,
// OrderHistoryPage,
// ReOrderDetailsPage,
// OurLocationPage,
// MyFavouritesPage,
// AccountSettingsPage,
// LoginPage,
// SignupPage,
// PhoneVerificationPage,
// ForgotPasswordPage,
// AccountVerificationPage
],
providers: [
StatusBar,
SplashScreen,
ValidationService,
ionicComponents,
{provide: ErrorHandler, useClass: IonicErrorHandler},
ServicesProvider,
Network,
NetworkProvider,
GlobalStringsProvider,
Connectivity,
Geolocation,
MainProvider
]
})
export class AppModule {}