【问题标题】:changing text box border color if validation is failed如果验证失败,更改文本框边框颜色
【发布时间】:2017-06-03 11:59:51
【问题描述】:

我有一个带有 id 的文本框:txtFirstName,以及一个RequiredFieldValidator。 如果验证器无效,如何更改文本框边框颜色? 这是我的代码:

<label class="lblForm">FirstName</label><br />
<asp:TextBox ID="txtFirstName" runat="server" placeholder="Enter First Name"></asp:TextBox><br />
<label class="lblForm valMes">
<!-- First Name Validate -->
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic" SetFocusOnError="true"
                    ErrorMessage="EnterFirstName" ControlToValidate="txtFirstName"></asp:RequiredFieldValidator>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
                    ErrorMessage="First name not Valis" ControlToValidate="txtFirstName" Display="Dynamic" SetFocusOnError="true"
                    ValidationExpression="[a-z]{2,10}"></asp:RegularExpressionValidator>
</label>

我尝试了许多不起作用的 javascript 函数。有人可以帮助我吗?

【问题讨论】:

    标签: javascript css validation


    【解决方案1】:

    您可以像这样使用:invalid:valid 选择器:

    #txtFirstName:invalid {
       border: 2px solid red;
    }
    
    #txtFirstName:valid {
       border: 2px solid green;
    }
    #txtFirstName {
       outline: none;
    }
    <label class="lblForm">FirstName</label><br />
    <input type="text" required="required" id="txtFirstName" pattern="[a-z]{2,10}">

    【讨论】:

    • 如何在用户按下发送按钮后让它工作?我不希望它从一开始就变红
    • 还有,有没有办法改变标签颜色呢?
    • 几乎,我只需要它在第一次点击发送按钮后变成红色,而不是从一开始。
    【解决方案2】:

    示例代码:-

     var sportsDescription=  $('#sportsDescription').val();
     if(sportsDescription == ''){
          $('#sportsDescription').css({ "border":"2px solid red"  });
          mandatoryFlag = true;
     }else{
          $('#sportsDescription').css({ "border": "3px solid #D2D2D2" });
     }
    

    【讨论】:

    • 它只适用于必需的验证,那么正则表达式呢?
    • 我猜你必须在 if 块中提供有效的正则表达式并滑动 if 和 else 块的内容 eg:- stackoverflow.com/questions/6390695/…
    • 所以基本上我需要在 javascript 中进行验证,但我试图使用验证器检查文本框是否有效
    • 这取决于你,如果你对客户端验证感到满意,你可以这样做,否则你可以进行服务器端验证,我不精通 ASP。
    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多