A synchronous rule applied to the field as the top priority validation. When the rule
rejects, all the remaining validation chain is ignored.
type Rule = RegExp | (params) => boolean
import React from 'react'
import { Form } from 'react-advanced-form'
import { Input } from 'react-advanced-form-addons'
export default class Example extends React.Component {
render() {
return (
<Form>
<Input
name="username"
rule={/^\d+/} />
</Form>
)
}
}
import React from 'react'
import { Form } from 'react-advanced-form'
import { Input } from 'react-advanced-form-addons'
export default class Example extends React.Component {
validateUsername = ({ get, value, fieldProps, fields, form }) => {
/* "username" is valid only when equals to "foo" */
return value === 'foo'
}
render() {
return (
<Form>
<Input
name="username"
rule={this.validateUsername} />
</Form>
)
}
}
import React from 'react'
import { Form } from 'react-advanced-form'
import { Input } from 'react-advanced-form-addons'
export default class Example extends React.Component {
render() {
return (
<Form>
<Input
name="password"
type="password"
required />
<Input
name="confirmPassword"
rule={({ get, value }) => {
/* Valid only when equals to "password" field's value */
return value === get(['password', 'value'])
}}
required />
</Form>
)
}
}