2012-01-12 10 views
8

Probé el siguiente código para la validación de solo dígitos para la validación de un número de contacto en la aplicación web de Mvc.Validación de Mvc ¿solo números de expresión regular?

[RegularExpression(@"/(^\(\d{10})?)$/", ErrorMessage = "Please enter proper contact details.")] 
[Required] 
[Display(Name = "Contact No")] 
public string ContactNo { get; set; } 

Pero la expresión de validación no funciona.

Para el número de contacto, solo deseo aceptar dígitos. Puede ser un número móvil de 10 dígitos o un número fijo.

+1

¿Qué no está funcionando? – KMan

+3

¿Qué formato debe ser el número de contacto? ¿Puede contener espacios o guiones? – WDuffy

+1

definir "correctamente", ¿qué es incorrecto al respecto? –

Respuesta

7

/ / es la forma javascript para construir un objeto literal de expresión regular. En .NET no deberías usarlo.

intente lo siguiente:

@"^\((\d{10}?)\)$" 

o si desea exactamente 10 dígitos:

@"^(\d{10})$" 
14

Si no tienen otras limitaciones que sólo números, esto debe encajar:

[RegularExpression(@"^\d+$", ErrorMessage = "Please enter proper contact details.")] 
[Required] 
[Display(Name = "Contact No")] 
public string ContactNo { get; set; } 
+0

así que básicamente usas una expresión regular para determinar si la cadena tiene todos los dígitos. – Zapnologica

+0

@Zapnologica Ciertamente. – gdoron

+0

Gracias señor, su respuesta realmente me ayudó –

0

Esto funcionó para mí:

[RegularExpression(@"^[0-9]{10}", ErrorMessage = "Please enter proper contact details.")] 
Cuestiones relacionadas