2017-09-18 1 views
1

Ich habe ein Textfeld, das Pflichtfeld ist und ich habe eine Bedingung geschrieben.Wie kann ich feststellen, ob ein Textfeld nur Leerzeichen in C# enthält?

Aber Benutzer gibt "" (nur Leerzeichen in Textfeld) ein. In diesem Szenario schlägt mein Code fehl. Kann mir bitte jemand sagen, wie man Textfelder überprüft, enthält nur Leerzeichen im Textfeld.

if(txtEmployee.Text == ""|| txtEmployee.Text == null || txtEmployee.Text == " ") 
{ 
    this.lblMessage.CssClass = "messageFail"; 
    this.lblMessage.Text = "Please Enter Request for"; 
    return; 
} 
+4

Warum es nicht trimmen? – epascarello

+1

Sie können Regex verwenden, um das Leerzeichen durch eine leere Zeichenfolge zu ersetzen, dann überprüfen Sie es – Niladri

+1

Nicht genau das gleiche, aber: 'string.IsNullOrWhiteSpace (txtEmployee.Text)' – Stefan

Antwort

2

Sie eines dieser

können
1. if(!string.IsNullOrEmpty(txtEmployee.Text.Trim())) 

2. if(!string.IsNullOrWhiteSpace(txtEmployee.Text)) 

3. if(txtEmployee.Text.Trim()!=string.Empty) 

4. if(txtEmployee.Text.Trim().Length > 0) 

Implementierung von IsNullOrEmpty und IsNullOrWhitespace von reference source

public static bool IsNullOrEmpty(String value) { 
     return (value == null || value.Length == 0); 
    } 


    public static bool IsNullOrWhiteSpace(String value) { 
     if (value == null) return true; 

     for(int i = 0; i < value.Length; i++) { 
      if(!Char.IsWhiteSpace(value[i])) return false; 
     } 

     return true; 
    } 
+2

Null oder leer wird für diesen Fall nicht funktionieren, da das OP für Leerraum testen möchte – Pete

+0

@Pete Just getrimmt es – Amit

+0

'if (! String.IsNullOrEmpty (txtEmployee.Text.Trim()))' Ich gebe Ihnen einen Moment darüber nachzudenken ;-) – Stefan

0

Überprüfen Sie, ob null oder leer & trimmen

String.Trim String.IsNullOrEmpty

+0

Hallo, ich denke, es ist nicht ratsam, ein 'Trim' auf einem Feld zu machen, auf dem man einen 'Null'-Check macht. 'IsNullOrWhiteSpace' wäre angemessener. – Stefan

Verwandte Themen