Validation in React TextBox component
21 Oct 20248 minutes to read
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 cssClass property.
[Class-component]
import * as React from "react";
import * as ReactDOM from "react-dom";
import { TextBoxComponent } from '@syncfusion/ej2-react-inputs';
export default class Default extends React.Component {
render() {
return (<div>
<TextBoxComponent
id='default'
placeholder="Input with warning"
cssClass="e-warning"
/>
<TextBoxComponent
id='textboxes'
placeholder="Input with error"
cssClass="e-error"
/>
<TextBoxComponent
id='textbox'
placeholder="Input with success"
cssClass="e-success"
/>
</div>);
}
}
ReactDOM.render(<Default />, document.getElementById('input-container'));
import * as React from "react";
import * as ReactDOM from "react-dom";
import { TextBoxComponent } from '@syncfusion/ej2-react-inputs';
export default class Default extends React.Component {
public render() {
return (<div>
<TextBoxComponent
id='default'
placeholder="Input with warning"
cssClass="e-warning"
/>
<TextBoxComponent
id='textboxes'
placeholder="Input with error"
cssClass="e-error"
/>
<TextBoxComponent
id='textbox'
placeholder="Input with success"
cssClass="e-success"
/>
</div>
);
}
}
ReactDOM.render(<Default />, document.getElementById('input-container'));
[Functional-component]
import * as React from "react";
import * as ReactDOM from "react-dom";
function Default() {
return (<div>
<div className="e-input-group e-warning">
<input className="e-input" type="text" placeholder="Input with warning" onFocus={onInputFocus} onBlur={onInputBlur}/>
</div>
<div className="e-input-group e-error">
<input className="e-input" type="text" placeholder="Input with error" onFocus={onInputFocus} onBlur={onInputBlur}/>
</div>
<div className="e-input-group e-success">
<input className="e-input" type="text" placeholder="Input with success" onFocus={onInputFocus} onBlur={onInputBlur}/>
</div>
</div>);
function onInputFocus(args) {
if (!args.target.parentElement.classList.contains('e-input-in-wrap')) {
args.target.parentElement.classList.add('e-input-focus');
}
else {
args.target.parentElement.parentElement.classList.add('e-input-focus');
}
}
function onInputBlur(args) {
if (!args.target.parentElement.classList.contains('e-input-in-wrap')) {
args.target.parentElement.classList.remove('e-input-focus');
}
else {
args.target.parentElement.parentElement.classList.remove('e-input-focus');
}
}
}
ReactDOM.render(<Default />, document.getElementById('input-container'));
import * as React from "react";
import * as ReactDOM from "react-dom";
function Default() {
return (
<div>
<div className="e-input-group e-warning">
<input className="e-input" type="text" placeholder="Input with warning" onFocus = {onInputFocus} onBlur = {onInputBlur} />
</div>
<div className="e-input-group e-error">
<input className="e-input" type="text" placeholder="Input with error" onFocus = {onInputFocus} onBlur = {onInputBlur} />
</div>
<div className="e-input-group e-success">
<input className="e-input" type="text" placeholder="Input with success" onFocus = {onInputFocus} onBlur = {onInputBlur}/>
</div>
</div>
);
function onInputFocus(args: React.FocusEvent) {
if (!((args.target as HTMLElement).parentElement as HTMLElement).classList.contains('e-input-in-wrap')) {
((args.target as HTMLElement).parentElement as HTMLElement).classList.add('e-input-focus');
} else {
(((args.target as HTMLElement).parentElement as HTMLElement).parentElement as HTMLElement).classList.add('e-input-focus')
}
}
function onInputBlur(args: React.FocusEvent) {
if (!((args.target as HTMLElement).parentElement as HTMLElement).classList.contains('e-input-in-wrap')) {
((args.target as HTMLElement).parentElement as HTMLElement).classList.remove('e-input-focus');
} else {
(((args.target as HTMLElement).parentElement as HTMLElement).parentElement as HTMLElement).classList.remove('e-input-focus');
}
}
}
ReactDOM.render(<Default />, document.getElementById('input-container'));