想要在用户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语句。但是即使我已按要求设置规则,也不会触发错误。
答案 0 :(得分:2)
在您的寄存器或控制器中使用此
validate: (value) => { return !!value.trim()}
在这里看看:https://github.com/react-hook-form/react-hook-form/issues/1650