我检查了 SO 的解决方案,但我没有找到任何有用的东西,它们要么像这个孤立链接一样没有得到答复,要么不相关。现在我在这里问:
是否可以让验证器在页面首次加载时显示他们的消息?
我的页面上有几个验证器(必需的、自定义的、范围 ...),并且我已将它们分组。我希望所需的验证组在首次加载时显示他们的消息(当 !page.IsPostBack 时),以便我的客户一眼就能看到什么是强制性的,什么不是。
我检查了 SO 的解决方案,但我没有找到任何有用的东西,它们要么像这个孤立链接一样没有得到答复,要么不相关。现在我在这里问:
是否可以让验证器在页面首次加载时显示他们的消息?
我的页面上有几个验证器(必需的、自定义的、范围 ...),并且我已将它们分组。我希望所需的验证组在首次加载时显示他们的消息(当 !page.IsPostBack 时),以便我的客户一眼就能看到什么是强制性的,什么不是。
以下代码应该可以满足您的要求。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// for all validators to fire, first time
Page.Validate();
// Or Only validators under a specific group will fire
Page.Validate("ValidationGroupName");
}
}
只需调用Validate()
来自的验证器Page_Load
。
if(!IsPostBack)
{
this.UserNameRequired.Validate();
// and all the other mandatory validators
}
当然......只需调用submit
表单的方法。
这不是你真正需要的吗?提交表单并获取所有消息?
$(function() {
// this will submit the form, but as you have validation,
// it will fire up all validations
$("form").submit();
});
这是一个简单的技巧,我有时会这样做。