react-hook-form控制器onBlur回调未触发验证

时间:2020-05-26 13:49:32

标签: reactjs react-hook-form

想要在用户onBlurs时修剪输入字段。

    <Controller 
    ...
    onBlur={([e]) => {
    const { value } = e.target;
    const trimmedValue = value.trim();
    console.log('trim here: ', value, value.length, trimmedValue.length);
    if (trimmedValue === '') {
    console.log('error!!!');
    return trimmedValue;
    }
    return trimmedValue;
    }} />

规则:

rules={{
 pattern: {
 value: new RegExp(firstName.validationString, 'i'),
message: 'First name must be 2 - 100 characters with no numbers.',
},
required: firstName.mandatory && 'Must fill in first name',
}}

该函数被触发并到达if语句。但是即使我已按要求设置规则,也不会触发错误。

1 个答案:

答案 0 :(得分:2)

在您的寄存器或控制器中使用此

validate: (value) => { return !!value.trim()}

在这里看看:https://github.com/react-hook-form/react-hook-form/issues/1650