我想使用ASP验证器:Requiredfieldvalidator,Regularexpressionvalidator。 我正在使用visual studio 2013,并且在我的web.config中没有关于验证的任何内容。
问题是页面上没有使用javascript验证,我确实在application_start方法的global.asax文件中包含了这一行:
ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/js/jquery-2.2.4.min.js"});
路径正确且jquery文件在那里。
请求ASPX页面:
<label>Naam</label>
<asp:TextBox ID="TextBox_name" CssClass="form-control" placeholder="Naam" CausesValidation="true" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator_name" runat="server" ErrorMessage="Vul uw naam in" Display="None" ControlToValidate="TextBox_name"></asp:RequiredFieldValidator>
<asp:Button ID="Button_send" runat="server" Text="Verstuur" CssClass="btn btn-default" OnClick="Button_send_Click" CausesValidation="true" />
答案 0 :(得分:0)
为了在客户端查看验证指标,您可以定义验证器的Text属性,并将其Display
属性设置为Dynamic
或Static
:
<asp:RequiredFieldValidator Display="Dynamic" Text="Missing value!" ForeColor="Red" ... />
但请注意,只有在文本失去焦点之前对文本进行了一些更改(在这种情况下删除了整个内容)时才会触发验证。
如果您想在每次TextBox失去焦点时强制进行验证,即使未对其内容进行任何更改,您也可以处理blur
事件:
<asp:TextBox onblur="validateText();" ... />
使用以下事件处理程序:
<script type="text/javascript">
function validateText() {
var validator = document.getElementById('<%= RequiredFieldValidator_name.ClientID %>');
if (validator) {
ValidatorValidate(validator);
}
}
</script>