¿Cómo deshabilitar/habilitar un botón mientras se hace la validación usando IDataErrorInfo
?Habilitar Deshabilitar el botón Guardar durante la validación usando IDataErrorInfo
Estoy usando MVVM
usando GalaSoft light Framework. En mi clase de modelo he implementado IDataErrorInfo
para mostrar los mensajes de error.
public string this[string columnName]
{
get
{
Result = null;
if (columnName == "FirstName")
{
if (String.IsNullOrEmpty(FirstName))
{
Result = "Please enter first name";
}
}
else if (columnName == "LastName")
{
if (String.IsNullOrEmpty(LastName))
{
Result = "Please enter last name";
}
}
else if (columnName == "Address")
{
if (String.IsNullOrEmpty(Address))
{
Result = "Please enter Address";
}
}
else if (columnName == "City")
{
if (String.IsNullOrEmpty(City))
{
Result = "Please enter city";
}
}
else if (columnName == "State")
{
if (State == "Select")
{
Result = "Please select state";
}
}
else if (columnName == "Zip")
{
if (String.IsNullOrEmpty(Zip))
{
Result = "Please enter zip";
}
else if (Zip.Length < 6)
{
Result = "Zip's length has to be at least 6 digits!";
}
else
{
bool zipNumber = Regex.IsMatch(Zip, @"^[0-9]*$");
if (zipNumber == false)
{
Result = "Please enter only digits in zip";
}
}
}
else if (columnName == "IsValid")
{
Result = true.ToString();
}
return Result;
}
}
Captura de pantalla: http://i.stack.imgur.com/kwEI8.jpg
Cómo habilitar/deshabilitar el botón guardar. Amablemente sugerir?
Gracias
que no es un buen enfoque para poner la lógica de validación en su modelo, porque la lógica de validación puede cambiar en diferentes escenarios. –
Para simplificar, puede ser simplemente 'public bool IsValid => ValidatedProperties.All (p => GetValidationError (p) == null);'. – dee