CLR: .Net / Mono / Boo / Otros CLR > C#

 VALIDACIONES DE CAMPOS EN C#

(1/2) > >>

LuisYactayo:
Q tal. Hago un sitema de Ventas en C#. Como es normal tiene muchos campos que tendré q validar. (numeros, letras, tamaños, cantidades, q no haya tres letras repetidas,etc)  Tienen alguna idea de como puedo hacer todo más sencillo???? ....Me refiero a una clase o algo asi donde le envies el campo y lo q quieres q valide.

O alguna otra manera de validacion.

morringos:
Para lo de números, tal vés te pueda servir el control NumericUpDown, y para los otros campos, puedes hacer combinación del método Contains() junto con el uso del método de KeyPress de los controles, es lo que se me ocurre, ya que sinceramente, no conozco alguna clase que valide por ti o algo por el estilo, pero tal vés si la haya, pero por mi parte, yo no la conozco.


Saludos!;
Morringos Phyps!;  ^_^

Josselo:
Lo que puedes hacer para no complicarte es que si son numeros de 1 o 2 caracteres (1,2,3,...10,20) puedes utilizar el NumericUpdown ahi le puedes dar la cantidad minima y maxima que se requiere
En caso sean numeros como de un telefono,dni,etc  para no permitir que se ingresen letras puedes utilizar este codigo en su evento KeyPress

if ((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == 13 || e.KeyChar == 8)
            {
                e.Handled = false;
            }
            else
            {
                MessageBox.Show("Solo se permiten Numeros");
                e.Handled = true;
            }
si son textbox puedes darle el tamaño maximo de caracteres, como dices que son para ventas supongo que validaras  nro de Ruc, o comprobante ... supongo el cual sus caracteres son de 11 digitos(Ruc)... etc
pàra comprobar que sean 11 puedes validarlo asi
if(textbox1.lenhgt != 11) //--> si no son 11
   Mensaje="Digite 11 numeros"
else        //--> caso contrario
  Variable = textbox1.text; //--> guardas el valor


bueno espero te sirva y  ojala y me hayas entendido...
saludos.

LuisYactayo:
muchas Gracias .Pero... Verán. Existe una clase en C# que cuando le mandas un numero lo convierte a letras. Se imaginan? Escribir desde tu programa
principal   ConvertirALetras(5678.00) y q te devuelva el numero en letras. Esto evita estar colocando un monton de codigo.

Pues bien, lo anterior solo era un ejemplo de lo q necesitaba. Una clase q valide TODOS los campos. Eso de numeric u otro de handled, esta bien, pero funcionaria para
cada caso solamente, no para todos.

Estaba preguntando si existe una clase Asi. Y si no existe creenla ps.. jejeje Mentira. ya fue .


 :comp:   Validacampo("txtnom.Text","solo letras","Error")

morringos:
Bueno, si quieres convertir a letras un número, lo que puedes hacer es ir convirtiendo cada dígito a char, no sé si eso es lo que intentas hacer, si por ejemplo, para el 95 en char es 'a', pero habría un problema, que el recorrido nada mas te lo hace de dígito por dígito, así, el 95 te lo tomaría como 9 y 5 como te lo estoy planteando, sólamente que los dígitos los vayas capturando en un arreglo o cualquier otra estructura de datos.

Por ejemplo, el arreglo A={2,3,96,56,34}, entonces haces un recorrido desde 0 <A.Lenght; y cada elemento lo vas convirtiendo a char y así te arrojaría la letra respecto al dígito.
Eso es lo que se me ocurre, o la otra, podrías utilizar el control MasketTextBox, pero no sé bien como qué función o uso le vas a dar a tu aplicación. Así que eso es lo que se me ocurre como solución bro..


Saludos!;
Morringos Phyps!;  ^_^

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa