检查ASP.NET中文本框的验证状态

时间:2018-03-01 07:13:06

标签: javascript c# asp.net

我使用.NET framework 'TextMode=EMail''ValidateRequetMode=Enabled'提供的默认验证程序,我希望在验证按钮onclick时是否触发它们。

我的目的是创建以下功能;

function func()
 {
  if(tbEmail.validated==true)
   {
     swal("PROCESSING...");
   }
 }

我的aspx代码如下所示;

<asp:TextBox ID="tbMail" minlength="1" runat="server" TextMode="Email" ValidateRequestMode="Enabled" ></asp:TextBox>
<asp:TextBox ID="tbPassword" minlength="4" runat="server" TextMode="Password" MaxLength="12" required="" ValidateRequestMode="Enabled"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server"  CssClass="ButtonClass" OnClick="btnLogin_Click" OnClientClick="return func();" />

我怎么能得到它?

2 个答案:

答案 0 :(得分:0)

试试这个:

docker-compose up --build

注意:这只是一个例子。您需要根据需要进行更改。

选项-1

您可以将<asp:TextBox ID="tbEmail" runat="server" TextMode="Email" /> <asp:RegularExpressionValidator runat="server" ControlToValidate="tbEmail" ValidationExpression="^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$" ErrorMessage="Please provide a valid email address." Display="Dynamic"/> 添加到验证程序。然后,您可以使用返回bool值的ValidationGroup方法。此方法返回验证结果的状态。

Page_ClientValidate(validationgroup)

然后你可以编写你的函数(正如你所要求的那样)来对不同的事件做进一步的操作。

<asp:RegularExpressionValidator id="revEmail" runat="server"     
    ControlToValidate="tbEmail"
    ValidationExpression="^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$"
    ErrorMessage="Please provide a valid email address." 
    Display="Dynamic" ValidationGroup="email"/>

选项-2

这不是直接的方式,但技术上可行。

另外,您可以检查验证消息的可见性(验证器在验证失败的情况下生成错误消息)。

<script>
function func()
{
  if(Page_ClientValidate("email"))
  {
    // Perform your operation
  }
}
</script>

答案 1 :(得分:0)

我终于找到了。

if (tbEmail.validity.valid == true) 
{
  // yays, it worked.
}