c#-将多个文本框上的相似验证与不同的验证结果文本组合在一起
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-将多个文本框上的相似验证与不同的验证结果文本组合在一起,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2430字,纯文字阅读大概需要4分钟。
内容图文
![c#-将多个文本框上的相似验证与不同的验证结果文本组合在一起](/upload/InfoBanner/zyjiaocheng/685/1bb9fcb006464805939cf83ec55a2092.jpg)
我有一个报告,可以通过StartDate EndDate,BookingID,CardNumber和Amount进行过滤.
这些用2个日期选择器和4个文本框(CardNumber分为2个文本框)表示,并且有一个“搜索”按钮可以返回报告.我想知道我是否可以合并部分或全部验证代码以减少代码行数,所以下面的“我的搜索”点击代码工作正常.大多数验证代码与I.E类似,即检查是否以整数形式输入BookingID,CardNumber和Amount.
我知道这个问题正要进行代码审查,因此请告知是否应在其他地方提出.
protected void ibtnSearch_Click(object sender, ImageClickEventArgs e)
{
lblInputMessage.Visible = false;
DateTime dtStart, dtEnd;
bool isGood = DateTime.TryParse(txtEndDate.Text, out dtEnd);
if (DateTime.TryParse(txtStartDate.Text, out dtStart))
{
if (txtEndDate.Text.Trim() == "")
{
dtEnd = DateTime.Now;
isGood = true;
}
}
if (txtBookingID.Text.Length > 0)
{
int newBookingID;
if (int.TryParse(txtBookingID.Text, out newBookingID))
{
isGood = true;
}
else
{
lblInputMessage.Visible = true;
lblInputMessage.Text = "Please enter a valid BookingID.";
return;
}
}
if (txtAmount.Text.Length > 0)
{
int newAmount;
if (int.TryParse(txtAmount.Text, out newAmount))
{
isGood = true;
}
else
{
lblInputMessage.Visible = true;
lblInputMessage.Text = "Please enter a valid Amount.";
return;
}
}
if (txtCardNumber1.Text.Length > 0 || txtCardNumber2.Text.Length > 0)
{
int newCardNumber1;
int newCardNumber2;
if (int.TryParse(txtCardNumber1.Text, out newCardNumber1) && (int.TryParse(txtCardNumber2.Text, out newCardNumber2)))
{
isGood = true;
}
else
{
lblInputMessage.Visible = true;
lblInputMessage.Text = "Please enter a valid Card Number.";
return;
}
}
if (isGood)
{
if (dtStart > dtEnd)
{
lblInputMessage.Visible = true;
lblInputMessage.Text = "End Date must be greater than Start Date.";
return;
}
lblInputMessage.Visible = false;
LoadGridData(true);
ajaxCollapsiblePanel1.Collapsed = true;
ajaxCollapsiblePanel1.ClientState = "true";
pnlContainer.Visible = true;
}
else
{
lblInputMessage.Visible = true;
lblInputMessage.Text = "Please enter a valid date.";
return;
}
}
解决方法:
您可以修改它以使用IDataErrorInfo并执行类似的操作.
public string Error
{
get { return String.Empty; }
}
public string this[string columnName]
{
get
{
String errorMessage = String.Empty;
switch (columnName)
{
case "Variable1":
if (String.IsNullOrEmpty(Variable1))
{
errorMessage = "Variable1 is required";
}
break;
case "Variable2":
if (Variable2 < 10)
{
errorMessage = "Variable2 can't be less than 10";
}
break;
}
return errorMessage;
}
}
本教程https://tarundotnet.wordpress.com/2011/03/03/wpf-tutorial-how-to-use-idataerrorinfo-in-wpf/涵盖了基础知识.
内容总结
以上是互联网集市为您收集整理的c#-将多个文本框上的相似验证与不同的验证结果文本组合在一起全部内容,希望文章能够帮你解决c#-将多个文本框上的相似验证与不同的验证结果文本组合在一起所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。