验证fileupload并禁用提交按钮

时间:2013-09-06 13:50:41

标签: javascript jquery asp.net validation

我的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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

示例代码:

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

   //save image
}