Таким образом, мои поля отображаются объектом json. В основном это динамическая форма, которая отображает форму из объекта json.Так что я пытаюсь достичь, чтобы иметь функцию проверки внутри объекта json, которая запускается на определенном поле, если оно пройдено.Для этого я использую валидацию на уровне поля редукционной формы.Так что это мой JSON
{
"componentKey": "comment",
"componentType": "textArea",
"componentDataType": "alphanumeric",
"componentLabel": "Comment",
"componentPlaceholder": "Comment",
"componentValue": "",
"maxlength": 120,
"required": false,
"show": true,
**componentValidationFuncw**: (value) => {
// console.log('MOment', moment)
}
Затем я рендеринг поля, как это
{props.item.componentType === 'textArea' && <Field name={props.item.componentKey} item={props.item} component={TextArea} {...props}
validate={[required, maxLength15]} />}
, и я использую это на textArea, чтобы отобразить ошибку
const { input, label, type, meta: { touched, warning } } = this.props
return (
<View style={{ flexDirection: 'row', paddingLeft: 5 }}>
<Icon type='FontAwesome5' name='info-circle' style={{ fontSize: 14, color: '#ff0000',
paddingTop: 2 }} />
<Text style={{ color: '#ff0000', fontSize: 12, textAlign: 'left', paddingTop: 2,
paddingBottom: 2, paddingLeft: 5 }}>{error}</Text>
{touched && ((error && <Text style={{ color: 'red' }}>{error} dsds</Text>))}
</View>
Так вот моя проблема
- Сообщение об ошибке будет отображаться сразу после рендеринга компонента. Правильное поведение будет, если поле сфокусировано или пользователь начинает вводить его. Но оно не работает таким образом.
- Почему я могу добавить это в объект json, чтобы вся проверка происходила из объекта json