我正在使用由.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();" />
我怎么能得到它?
试试这个 :
<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"/>
注意:这只是一个例子。您需要根据需要进行更改。
选项1
您可以将ValidationGroup
添加到验证器。然后你可以使用返回bool值的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"/>
然后你可以编写你的函数(正如你所要求的那样)来对不同的事件做进一步的操作。
<script>
function func()
{
if(Page_ClientValidate("email"))
{
// Perform your operation
}
}
</script>
OPTION-2
这不是直接的方式,但技术上可行。
另外,您可以检查验证消息的可见性(验证器在验证失败的情况下生成错误消息)。
if (document.getElementById("ctl00_ContentPlaceHolder1_revEmail").style.visibility == "hidden") {
// text box validated successfully
} else {
// error occured
}
我终于找到了。
if (tbEmail.validity.valid == true)
{
// yays, it worked.
}