2017-02-06 10 views
0

Im пытается создать динамический полевой валидатор - когда «isDisable» истинно, тогда это не требуется + нет необходимости проверять тип номера.Ant Design Dynamic field validation

{getFieldDecorator('number', { 
    validateFirst: true, 
    rules: [{ 
    required: !isDisable, 
    message: 'Must enter data' 
    }, { 
    type: 'number', 
    message: 'Need to enter number' 
    }] 
})(
    <InputNumber min={0} step={1} disabled={isDisable} /> 
)} 

Но этот код по-прежнему проверяет тип номера.

Я также попытался это в визуализации функции:

const rules = isDisable ? { } : { 
    validateFirst: true, 
    rules: [{ 
    required: true, 
    message: 'Must enter data' 
    }, { 
    type: 'number', 
    message: 'Need to enter number' 
    }] 
}; 

{getFieldDecorator('number', rules)(
    <InputNumber min={0} step={1} disabled={isDisable} /> 
)} 

Но при вводе данных валидатор происходит только когда функция «validateFieldsAndScroll» называется, и я хочу, чтобы проверить OnChange событие

Так как я могу создать правило, которое не проверяет тип, если поле отключено?

Thank.

ответ

0

Как об этом:

const allFields = ['a', 'b', 'c']; 
const fields = allFields.filter(disabledField); 
this.props.form.validateFields(fields,() => {...}) 
+0

Спасибо! Я также обнаружил, что если вы установите значение поля как неопределенное, валидатор не проверяет его. –