我有一个值的输入字段,该值应该正好有 5 位数字。我想在立即输入数字以外的字符(onChange)时显示错误,但仅在模糊时显示字符串长度不足的错误。
我的规则目前看起来是这样的:
ValidationRules
.ensure("myInput")
.matches(new RegExp(/[0-9]/))
.minLength(5)
.on(this);
MaxLength是通过在html中设置maxlength来限制的。
如果我将验证触发器设置为“onChange”以立即响应错误字符,我还会收到一条错误消息,表明在输入正确的数字时不满足 minLength 规则,直到输入了 5 个数字为止。
我想要的行为是应用 matches-rule onChange 和 minLength-rule onBlur。
是否有可能在不同事件的同一财产上应用两条规则?我知道如何手动验证,但我不知道如何区分规则。
您可以使用when
流畅的API来满足您的需求。像这样的东西 -
ValidationRules
.ensure('email')
.email()
.required()
.when((order) => {
if (order.length > 4) {
order._ruleHasBeenMet = true;
}
return order.length > 4 && order._ruleHasBeenMet;
}
.withMessage('Email is required when shipment notifications have been requested.');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)