C# 将错误消息从代码隐藏添加到验证摘要
我在web表单应用程序上执行以下操作:C# 将错误消息从代码隐藏添加到验证摘要,c#,asp.net,validation,webforms,C#,Asp.net,Validation,Webforms,我在web表单应用程序上执行以下操作: protected void button_transfer_search_Click(object sender, EventArgs e) { Page.Validate("val1"); if (!Page.IsValid && int.Parse(txtArrivalDateTrf.Text) + 5 < 10) { return; } 受保护的无效按钮\u传输\u搜索\u单击(对
protected void button_transfer_search_Click(object sender, EventArgs e) {
Page.Validate("val1");
if (!Page.IsValid && int.Parse(txtArrivalDateTrf.Text) + 5 < 10) {
return;
}
受保护的无效按钮\u传输\u搜索\u单击(对象发送者,事件参数e){
第页:验证(“val1”);
如果(!Page.IsValid&&int.Parse(txtArrivalDateTrf.Text)+5<10){
返回;
}
另外,我的aspx文件中有以下代码:
<div class="search-engine-validation-summary">
<asp:ValidationSummary ValidationGroup="transfer" runat="server" ShowMessageBox="false" />
</div>
我的问题是如何在返回之前将错误消息添加到页面中,以便验证摘要能够捕获并显示它。我知道我们可以在mvc中轻松完成此操作,但我还没有弄清楚如何在web表单中完成此操作。谢谢!每当我发现这种情况时,我都会这样做:
var val = new CustomValidator()
{
ErrorMessage = "This is my error message.",
Display = ValidatorDisplay.None,
IsValid = false,
ValidationGroup = vGroup
};
val.ServerValidate += (object source, ServerValidateEventArgs args) =>
{ args.IsValid = false; };
Page.Validators.Add(val);
在我的ASPX代码中,我有一个ValidationSummary控件,其中ValidationGroup设置为与vGroup
相同的值
然后,在我通过codebehind加载了我想要的尽可能多的CustomValidator(或任何其他类型的验证器)之后,我只需调用
Page.Validate()
if (Page.IsValid)
{
//... set your valid code here
}
调用
Page.Validate()
调用插入的验证器后面所有代码的lambda链接方法,如果有返回false,则页面无效,返回时未执行任何代码。否则,页面返回有效值,并执行有效代码。按“返回前”执行,你的意思是在提交表格之前在客户机上吗?在这里找到答案:几乎完全相同:S哦,太糟糕了:SI投票了我自己的问题,结束了:S仍然需要4票。帮帮我。