- onChange(isValid);
- }
-
- render() {
- const { classes, isRequired, value } = this.props;
- const { isPatternValid, isLengthValid } = this.state;
-
- return (
- <span>
- {this.props.render(!(isPatternValid && isLengthValid) && (isRequired || (!isRequired && value.length > 0)))}
- {!isPatternValid && (isRequired || (!isRequired && value.length > 0)) ? <span className={classes.formInputError}>This field allow only alphanumeric characters, dashes, spaces and underscores.<br /></span> : null}
- {!isLengthValid ? <span className={classes.formInputError}>This field should have max 60 characters.</span> : null}
- </span>
- );
- }
+ isValid(value: string) {
+ return this.props.validators.every(validate => validate(value).length === 0);
+ }