【问题标题】:Multiple conditionals in one line for JavascriptJavascript 一行中有多个条件
【发布时间】:2022-01-23 14:06:10
【问题描述】:

我正在学习 React 和 Javascript。到目前为止,这很容易,但是在解决如何验证输入和打印的多个值和错误时,我无法使用条件运算符来解决它。

我有这个带有 3 个验证要求的 react-hook-form 组件:required、minLength 和 pattern:

<Input
  {...register('password', {
    required: true,
    minLength: minChars,
    pattern: passwordValidation,
    })}
    type='password'
    label={t('common:forms.password')}
    placeholder={t('common:forms.min_char', {
      count: minChars,
    })}
    errors={
           errors.password
             && errors.password.type === 'minLength'
             ? errors.password.type === 'required'
             ? errors.password.type === 'minChars'
                    ? true
                    : true
                  : ''
              }
            />

如果任何或所有 3 个验证处于活动状态,我想打印真实值。我试过类似的东西:

{errors.password ? true : ''}

而且不工作

这个也失败了

{errors.password && errors.password.type === 'minLength' &&  errors.password.type === 'required' && errors.password.type === 'minChars' ? true : ''}

也许我无法使用条件运算符解决此问题,我需要在其他地方抽象此验证或使用是的。

【问题讨论】:

  • 您希望哪个参数/属性出现什么错误?

标签: javascript react-hook-form


【解决方案1】:

如果任何或所有 3 个验证处于活动状态,我想打印真实值。

那么你应该使用逻辑 OR 运算符 || 而不是 AND &amp;&amp;

{errors.password && (errors.password.type === 'minLength' || errors.password.type === 'required' || errors.password.type === 'minChars') ? true : ''}

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2020-05-12
    • 2016-08-05
    • 1970-01-01
    • 2021-08-06
    相关资源
    最近更新 更多