Инстанс должен иметь не только список в виде массива невалидных полей, но и объект, где каждое поле представлено объектов, там есть:
- fieldName
- хэндлеры для редактирования состояния
- список ошибок
- текст подсказки
- в каждом поле можно перезаписать тип валидации
import React, { Component } from 'react';
import { render } from 'react/lib/ReactDOM';
import Foma from 'foma';
const fields = {
username: {
validators: [standardValidator, asyncValidator, oneMoreValidator],
tip: 'имя пользователя'
},
password: {
validators: [passwordValidator],
tip: 'пароль'
},
browser: {
validators: [standardValidator],
handler: () => { alert('Укажите валидатор') },
tip: 'ваш любимый браузер'
}
};
@Foma(fields)
class FormDemo extends Component {
render () {
const { fields } = this.props;
return (
<form name="FormDemo" noValidate>
<div className="form-group">
<label htmlFor="username">Type your username</label>
<input
type="text"
className="form-control"
{...fields.username} />
</div>
</form>
);
}
}