Ant Design 动态字段验证
Ant Design Dynamic field validation
我正在尝试创建动态字段验证器 - 当 "isDisable" 为真时则不需要 + 无需检查数字类型。
{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 事件
如果该字段被禁用,我该如何创建不检查类型的规则?
谢谢。
这个怎么样:
const allFields = ['a', 'b', 'c'];
const fields = allFields.filter(disabledField);
this.props.form.validateFields(fields, () => {...})
我正在尝试创建动态字段验证器 - 当 "isDisable" 为真时则不需要 + 无需检查数字类型。
{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 事件
如果该字段被禁用,我该如何创建不检查类型的规则?
谢谢。
这个怎么样:
const allFields = ['a', 'b', 'c'];
const fields = allFields.filter(disabledField);
this.props.form.validateFields(fields, () => {...})