2015-04-07 40 views
0

自定义的验证无法正常工作,请检查javascript和下面的代码自定义的验证是不是在我的形式工作

<script type="text/javascript"> 
    function checkalphabets(sender, args) { 
     var pattern = /^[a-zA-Z\s]+$/; 
     var regexp1 = new RegExp("(www|http|https|WWW|HTTP|HTTPS)"); 
     var sUser = <%= CreateFirstNameTextBox.ClientID %>.value; 
     if ((!pattern.test(args.value))|| (regexp1.test(args.value))) 
     { 
      return false; 
     } 
      return true; 
    } 

</script> 


<body> 
<form id="form1" runat="server"> 
<div> 
    <asp:TextBox runat="server" ID="CreateFirstNameTextBox" placeholder="First Name" 
     MaxLength="50"></asp:TextBox> 
    <asp:CustomValidator ID="CustomValidator2" runat="server" ErrorMessage="Only Alphabets allowed! & http, www, https are not allowed" 
     ClientValidationFunction="checkalphabets" ForeColor="red" ControlToValidate="CreateFirstNameTextBox" 
     ValidationGroup="create" /> 


    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" ValidationGroup="create" /> 
</div> 
</form> 

我必须只允许字母到文本框,不应该让WWW,HTTP, HTTPS

+0

可以告诉你的渲染代码,而随后的模板。可能会更容易知道正在运行的实际代码 – atmd

+0

是否在控制台中看到任何错误? – Grundy

+0

它不工作@Grundy –

回答

0

你需要请参阅MSDN例如在约ClientValidationFunction你可以看到,在验证功能,你需要设置IsValid属性参数,所以你需要改变喜欢

代码
function checkalphabets(sender, args) { 
    var pattern = /^[a-zA-Z\s]+$/; 
    var regexp1 = new RegExp("(www|http|https|WWW|HTTP|HTTPS)"); 
    var sUser = args.Value; //<%= CreateFirstNameTextBox.ClientID %>.value; 

    args.IsValid = pattern.test(sUser); 
} 

也代替<%= CreateFirstNameTextBox.ClientID %>.value更好地利用args.Value

更新使用两个条件

function checkalphabets(sender, args) { 
    var pattern = /^[a-zA-Z\s]+$/; 
    var regexp1 = new RegExp("(www|http|https|WWW|HTTP|HTTPS)"); 
    var sUser = args.Value; //<%= CreateFirstNameTextBox.ClientID %>.value; 

    args.IsValid = pattern.test(sUser) && !regexp1.test(sUser); 
} 
+0

它不工作 –

+0

你如何检查呢? – Grundy

+0

@DurairajKj检查更新的答案 – Grundy

相关问题