Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在验证文件上载并禁用提交按钮_Javascript_Jquery_Asp.net_Validation - Fatal编程技术网

Javascript 正在验证文件上载并禁用提交按钮

Javascript 正在验证文件上载并禁用提交按钮,javascript,jquery,asp.net,validation,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" ValidationExpressio

我有这个
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
时,会显示错误消息,但当我尝试单击提交按钮时,它会提交


我正在考虑禁用并启用submit按钮,直到输入得到完全验证,但是我不知道
jquery
如何与
asp:RegularExpressionValidator

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

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

编辑:没有注意到正则表达式来自ASP,但是您可以使用ASP在表单上设置一个属性,然后使用jQuery检查表单属性。

最可能的解释是,提交按钮中的
验证组
绑定到另一个组

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

示例代码:

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

   //save image
}