winforms 中验证字段有快捷方式吗?例如,在保存记录之前需要填写特定的文本框。我总是做的是在保存之前首先以编程方式检查所有必填字段。例子:
protected bool CheckFields()
{
bool isOk = false;
if(textBox1.Text != String.Empty)
{
isOk = true;
}
return isOk;
}
private void btnSave_Click(object sender, EventArgs e)
{
if(CheckFields())
{
Save();// Some function to save record.
}
}
winforms 中的 ASP.Net 中是否有 Validator 的对应部分?或者任何其他方式...
这是一种方法:
private List<Control> m_lstControlsToValidate;
private void SetupControlsToValidate()
{
m_lstControlsToValidate = new List<Control>();
//Add data entry controls to be validated
m_lstControlsToValidate.Add(sometextbox);
m_lstControlsToValidate.Add(sometextbox2);
}
private void ValidateSomeTextBox()
{
//Call this method in validating event.
//Validate and set error using error provider
}
Private void Save()
{
foreach(Control thisControl in m_lstControlsToValidate)
{
if(!string.IsNullOrEmpty(ErrorProvider.GetError(thisControl)))
{
//Do not save, show messagebox.
return;
}
}
//Continue save
}
EDIT:
对于 m_lstControlsToValidate 中的每个控件,您需要编写将在 Validating 事件中触发的验证方法。
ErrorProvider.GetError(thisControl) 将返回一些错误文本或空字符串。空字符串意味着控制良好。否则,控件包含一些错误,我们将中止保存操作。
我们对 m_lstControlsToValidate 中的所有控件执行此操作。如果所有控件都没有错误,我们将继续保存,否则中止。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)