The TextBox supports three types of validation styles namely error
, warning
, and success
. These states are
enabled by adding corresponding classes .e-error
, .e-warning
, or .e-success
to the input parent element.
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `<div class="wrap">
<input class="e-input e-warning" type="text" placeholder="Input with warning"/>
<div class="e-input-group e-error">
<input class="e-input" type="text" (focus)="focusIn($event.target)"
placeholder = "Input with error" (blur)="focusOut($event.target)"/>
</div>
<div class="e-input-group e-success">
<input class="e-input" type="text" (focus)="focusIn($event.target)"
placeholder = "Input with success" (blur)="focusOut($event.target)"/>
</div>
</div>`
})
export class AppComponent {
public focusIn(target: HTMLElement): void {
target.parentElement.classList.add('e-input-focus');
}
public focusOut(target: HTMLElement): void {
target.parentElement.classList.remove('e-input-focus');
}
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { FormsModule } from '@angular/forms';
/**
* Module
*/
@NgModule({
imports: [
BrowserModule,
FormsModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module';
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);
You can add a mandatory asterisk(*)
to placeholder and float label using .e-float-input.e-control-wrapper .e-float-text::after class.
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `<div class="wrap">
<h4>Floating label as auto</h4>
<div class='textboxes'>
<ejs-textbox placeholder="First Name" floatLabelType="Auto"></ejs-textbox>
</div>
<h4>Floating label as always</h4>
<div class='textboxes'>
<ejs-textbox placeholder="First Name" floatLabelType="Always"></ejs-textbox>
</div>
</div>`
})
export class AppComponent { }
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import {TextBoxModule} from '@syncfusion/ej2-angular-inputs';
/**
* Module
*/
@NgModule({
imports: [
BrowserModule,
TextBoxModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module';
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);
#container {
visibility: hidden;
}
#loader {
color: #008cff;
height: 40px;
left: 45%;
position: absolute;
top: 45%;
width: 30%;
}
.wrap {
box-sizing: border-box;
margin: 0 auto;
padding: 20px 10px;
width: 260px;
}
.textboxes {
margin-top: 15px;
}
.e-float-input.e-control-wrapper .e-float-text::after {
content: '*';
color: red;
}