我的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
答案 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
}