Deshabilitar el espacio en blanco en el texto

¿Cómo puedo bloquear espacios en blanco en entradas de cuadros de texto?

Intenté esto pero no está funcionando:

[RegularExpression(@"/^\s/", ErrorMessage = "white space is not allowed in username")] public string UserName { get; set; } 

‘^’ negación no debe permitir espacios en blanco en el texto, pero no me permite ingresar ningún texto en el campo. ¿Alguna ayuda?

Use \S (que es negación del carácter \s = no blanco):

 @"^\S+$" 

Si se permite la cadena vacía, reemplace + con * :

 @"^\S*$" 

Acabo de ver el comentario que dijiste “necesitas trabajar con DataAnnotation”, esta es la manera de hacerlo sin Regex

 public class WhiteSpaceCheckerAttribute : ValidationAttribute { public override bool IsValid(object value) { var strValue = value as string; return strValue != null && !strValue.Contains(" "); } } 

uso

 [WhiteSpaceChecker(ErrorMessage = "white space is not allowed in username")] public string UserName { get; set; } 

Esto no cubre la validación del lado del cliente que puede implementar fácilmente. El siguiente enlace debería ayudarlo con ese concepto Validación de anotación de datos personalizados del lado del cliente

^ funciona como “negación” solo dentro de las clases de caracteres, por ejemplo, [^ ] significa cualquier carácter, excepto el espacio. Cuando se utiliza fuera de [] , ^ significa “al principio de la cadena. Entonces su RE original dice” Un espacio al comienzo de la cadena “, casi exactamente lo opuesto a lo que desea.

No estoy familiarizado con los detalles de C # REs, pero del rest de las respuestas, el RE que desea es probablemente ^\S+$ : 1 o más caracteres no espaciales entre el comienzo y el final de la cadena.

Puedes hacer esto sin RegEx. Al agregar este código en el evento KeyPress de su cuadro de texto.

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = e.KeyChar == ' '; }