[ Foro de C# ]
Hola buenos dias a todos, a ver si me podeis echar una mano:
Tengo estos dos metodos
public static string LS(string id, string Campo = "", int limit_min = 0, int lim_max = 0, DataTable var = null)
{
string msg = "";
string idioma = GetIdiomaForm();
switch (id)
{
case "IDS_VERIFICAR_CAMPOS":
switch (idioma)
{
case "p":
msg = "Escreva um valor para o campo \"" + Campo + "\".";
break;
case "i":
msg = "Escriba un valor para el campo \"" + Campo + "\".";
break;
default:
msg = "Escriba un valor para el campo \"" + Campo + "\".";
break;
}
break;
--------------------------------------------------------------------------------------------------------------------
Y este otro
public static bool VerificarCampo(string Campo, string Valor, Control control, int limit_min = 0, int lim_max = 0, bool ValidarName = false, bool draw_msg = true)
{
string Salida = "";
string idioma = GetIdiomaForm();
Page Pagina = HttpContext.Current.CurrentHandler as Page;
//if (Valor.Length == 0) Salida = (idioma == "p") ? "Escreva um valor para o campo \"" + Campo + "\"." : "Escriba un valor para el campo \"" + Campo + "\".";
//if (Valor.Length == 0) Salida = LS("IDS_VERIFICAR_CAMPOS", Campo, limit_min, lim_max);
if (Valor.Length == 0) Salida = LS("Escreva um valor para o campo ");
//else if (limit_min != 0 && Valor.Length < limit_min) Salida = (idioma == "p") ? "Escreva pelo menos " + limit_min.ToString() + " caracteres no campo \"" + Campo + "\"." : "Escriba por lo menos " + limit_min.ToString() + " caracteres en el campo \"" + Campo + "\".";
else if (limit_min != 0 && Valor.Length < limit_min) Salida = LS("IDS_VERIFICAR_CAMPOS_2", Campo, limit_min, lim_max);
//else if (lim_max != 0 && Valor.Length > lim_max) Salida = (idioma == "p") ? "Escreva como máximo " + lim_max.ToString() + " caracteres no campo \"" + Campo + "\"." : "Escriba como máximo " + lim_max.ToString() + " caracteres en el campo \"" + Campo + "\".";
else if (lim_max != 0 && Valor.Length > lim_max) Salida = LS("IDS_VERIFICAR_CAMPOS_3", Campo, limit_min, lim_max);
//else if (ValidarName && !nombre_bien_escrito(Valor)) Salida = (idioma == "p") ? "Escreva uma carta, dígito e em branco no campo \"" + Campo + "\"." : "Escriba sólo letra, dígito y espacio en blanco en el campo \"" + Campo + "\".";
else if (ValidarName && !nombre_bien_escrito(Valor)) Salida = LS("IDS_VERIFICAR_CAMPOS_4", Campo, limit_min, lim_max);
if (Salida.Length > 0)
{
if (draw_msg) MakeMessage(Salida);
control.Focus();
return false;
}
return true;
}
Actualmente funciona bien, pero me han pedido que la variable Campo que hay en VerificarCampo(), la obtenga en LS(), pasando unicamente el string id, y eliminando el resto de parametros, alguna solucion?
Muchisimas Gracias
Como todos los campos de tu función LS tienen valores por defecto, no hace falta que los indiques a no ser que vayas a cambiar su valor, de modo que en vez de hacer
LS("IDS_VERIFICAR_CAMPOS_4", Campo, limit_min, lim_max);
bastaría con
LS("IDS_VERIFICAR_CAMPOS_4");
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)