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
}