javascript - 在 React JS 中验证不正确时如何更改文本框的颜色

标签 javascript html css reactjs

我有一个下面的 Div,它由一个输入框组成

  return (
  <div class="textBoxContainer input-container">
      <div class="field textContainer">
        <input id={props.id} type={type} placeholder=' ' onChange={handleChange}
        onBlur={createValidator(type)} 
        className={textContainerClassDisabled.join(' ')} disabled={props.textContainerDisabled} />
        <label for={props.id}>{placeholder}</label>
        <span className={boxClass.join(' ')} onClick={showHide}>
          {type === 'input' ? 'Hide' : 'Show'}
        </span>
         <p>{isValid}</p> 
      </div>
  </div>
   )

我想将“错误”类添加到“div class="textBoxContainer input-container">”

.error {
    border:2px solid red;
}

下面是条件语句:

switch (type) {
    case 'email':
        return (e) => {
           email=e.target.value;
           //var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
           if(!emailReg.test(email)) {
            isValid=true;
            console.log("Please enter a valid email address");
           }
           else{
            isValid=false;
            console.log("Correct");
           }
         }

哪里:

 let isValid=false;
 type=email;

当 isValid 条件为真时,我无法动态更改文本框边框的颜色。

最佳答案

您可以将 isValid 作为 prop 传递给您的组件,然后有条件地将 .error 类添加到 className={textContainerClassDisabled.join(' ' )} 基于 isValid

的值

关于javascript - 在 React JS 中验证不正确时如何更改文本框的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58117658/

相关文章:

html - 我的电影评论不管用什么都试过了

javascript - jQuery 动画背景颜色在 IE 中不起作用

javascript - Protractor 页面对象 - 未调用方法

javascript - Three.js:使用触摸和设备方向旋转相机

javascript - MVC 更改 html 帮助程序类型

javascript - XML 通过属性值删除节点 JavaScript

javascript - 哪个版本的 CasperJS 与 PhantomJS 配合得很好?

html - 在 OpenCart 导航菜单中定位购物车按钮和搜索框

javascript - 我可以滚动浏览带有 "height = auto;"的元素吗?

jquery - jqPlot - 水平图例