React-validate-framework: лёгкий, простой и удобный компонент для проверки форм в React
React-Validate-Framework — это лёгкий, простой и удобный в использовании компонент для проверки форм на React.
Особенности:
Начало работы:
Установите пакет: npm i react-validate-framework --save.
Импортируйте необходимые компоненты: import formConnect, { Checkbox, Radio, Select, Text, Textarea, Message } from 'react-validate-framework'.
Определите схемы проверки: const schemas = { email: { rules: 'required | isEmail | maxLength(32) | validateFromServer', messages: '不能为空 | 请输入有效的电子邮件地址 | 不能超过{{param}}个字符 | 邮箱被占用', }, hobby: { rules: 'requiredField(email) | selectLimit(2)', messages: '邮件和爱好至少填写一项 | 至少选择{{param}}项', } };
Создайте методы проверки: const methods = { selectLimit(field, param) { if (Array.isArray(field.value)) { return field.value.length >= param; } return false; }, requiredField(field, param) { const otherField = this.fields[param]; return this.required(field) || (otherField.result && this.required(otherField)); }, async validateFromServer(field, param) { return await doServerAPI(); } }
Используйте компонент формы: @formConnect(schemas, methods) export default class BasicForm extends React.Component { static propTypes = { formControl: PropTypes.object, };
constructor(props) { super(props); props.formControl.init({ email: '', phone: '', }, { static: 'form-control', success: 'valid-success', error: 'valid-error', }); }
handleSubmit = async () => { const { formControl } = this.props; if (await formControl.validate()) { // Submit. } };
render() { return (
Компоненты формы: Checkbox, Radio, Select, Text, Textarea и Message.
Для использования собственных компонентов формы укажите value и onChange:
const { formControl: { fields, onFormChange }, } = this.props;
return ( );
0.15.x
delay
в FormControl
.props
) компонентов формы добавлен параметр delay
.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )