1

我有这个RegularExpressionValidator用于我的文件上传,它只接受.jpg

<asp:RegularExpressionValidator ID="regexValidator" runat="server"
ControlToValidate="FileUpload1" ForeColor="red" Font-Size="Smaller"
ErrorMessage="Only JPEG images are allowed"
ValidationExpression="(.*\.([Jj][Pp][Gg])|.*\.([Jj][Pp][Ee][Gg])$)">
</asp:RegularExpressionValidator>

问题是,当我尝试选择另一种文件类型而不是jpg/jpeg显示错误消息时,但是当我尝试单击提交按钮时,它会提交。

我正在考虑禁用和启用提交按钮,直到输入得到完美验证,但我不知道如何jquery使用asp:RegularExpressionValidator

4

2 回答 2

0

使用 jQuery,您可以通过检查正则表达式中的布尔值来阻止表单提交操作,然后阻止其默认设置:

$("#form1").submit(function(){
    if(!(boolean)){
        event.preventDefault(); 
    }
}

编辑:错过了正则表达式来自 ASP,但您可以使用 asp 在表单上设置属性,然后使用 jQuery 检查表单属性。

于 2013-09-06T14:01:59.990 回答
0

最可能的解释是ValidationGroup提交按钮中的 绑定到另一个组......

此外,您应该注意,在回发时,最好使用 Page.IsValid 方法重新检查您的验证器(这是因为不能保证您的验证器在浏览器中触发 - 例如,javascript 已关闭等... )

示例代码:

protected void btnSave_Click(object sender, EventArgs e)
{
    //Check that validators are valid
    if (!Page.IsValid)  
        return;

   //save image
}
于 2013-09-06T14:25:32.453 回答