我有一个用户控件,其中包含一些字段,例如名为 textBoxNombre 的文本框
我有一些验证注释,例如:
[Required(ErrorMessage="Debe escribir el Nombre")]
public String Nombre { get; set; }
这是用于添加新客户(客户)的按钮(称为 buttonAgregar)的简化代码:
private void buttonAgregar_Click(object sender, RoutedEventArgs e)
{
var cliente = new Cliente
{
Nombre = textBoxNombre.Text,
Apellido1 = textBoxPrimerApellido.Text,
Apellido2 = textBoxSegundoApellido.Text,
};
db.Clientes.Add(cliente);
try
{
db.SaveChanges();
}
catch (System.Data.Entity.Validation.DbEntityValidationException exc)
{
String mensaje = "";
foreach (var validationErrors in exc.EntityValidationErrors)
foreach (var validationError in validationErrors.ValidationErrors)
mensaje += validationError.ErrorMessage + "\n";
MessageBox.Show(mensaje, "Se han encontrado errores", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
如果我将 textBoxNombre 留空,则会触发异常并显示消息框。然后我在 textBoxNombre 中键入一些文本,但是当我再次单击 buttonAgregar 时,异常被触发,消息框再次显示相同的错误消息。buttonAgregar_Click() 方法没有在 textBoxNombre 中获取新值。
我该如何解决这个问题?