3

我检查了 SO 的解决方案,但我没有找到任何有用的东西,它们要么像这个孤立链接一样没有得到答复,要么不相关。现在我在这里问:

是否可以让验证器在页面首次加载时显示他们的消息?

我的页面上有几个验证器(必需的、自定义的、范围 ...),并且我已将它们分组。我希望所需的验证组在首次加载时显示他们的消息(当 !page.IsPostBack 时),以便我的客户一眼就能看到什么是强制性的,什么不是。

4

3 回答 3

5

以下代码应该可以满足您的要求。

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");
    }

}
于 2012-12-18T11:59:53.387 回答
2

只需调用Validate()来自的验证器Page_Load

if(!IsPostBack)
{
    this.UserNameRequired.Validate();
    // and all the other mandatory validators
}
于 2012-12-18T11:58:05.523 回答
2

当然......只需调用submit表单的方法。

这不是你真正需要的吗?提交表单并获取所有消息?

$(function() {

    // this will submit the form, but as you have validation, 
    // it will fire up all validations
    $("form").submit(); 

});

这是一个简单的技巧,我有时会这样做。

于 2012-12-18T11:58:38.017 回答