Something no one talks about
Something no one talks about
{isValid: false,isInvalid: true,isValidating: false,invalidFields: ['username']}
import React, { Component } from 'react';import Valya from 'valya';@Valyaclass Validator extends Component {// Rendering Error// Rendering Validator}
renderError() {if (!this.props.enabled || this.props.isValid) {return null;}return (<span className="validator__error" key="error">{this.props.validationErrorMessage}</span>);}
render () {return (<span className="validator"><span className="validator__target">{this.props.children}</span>{this.renderError()}</span>);}
<Validatorvalue={this.state.value}validators={ // ... }onEnd={(isValid, message) => {console.log('validation end:', isValid, message);}}><input type="text" value={this.state.value}onChange={e => this.setState({value: e.target.value})} /></Validator>
[{validator(value, params) {if (value) return Promise.resolve();return Promise.reject(params.message);},params: {message: 'Field is required'}}]
import React, { Component } from 'react';import Valya from 'valya';import Foma from 'foma';@Fomaclass FormDemo extends Component {// Write your own form as you want// Use Valya}