2016-03-30 18 views
0

Ich möchte eine regelmäßige erstellen, die überprüft, ob ein Eingabefeld ü, ä oder ö hat.Laravel/Php regulären Ausdruck

Wenn das Eingabefeld zB den Buchstaben ü hat, möchte ich es in ue umschalten.

Bisher habe ich dies:

public static $rules = [ 
    'email' => 'required|max:30' 
    'filename' => 'required|max:30|regex:/' 
    ]; 

Aber ich weiß nicht, wie weiter zu gehen.

+0

Versuchen Sie, eine neue Validierungsfunktion zu erstellen und verwenden Sie sie hier; – itzmukeshy7

+2

Vielleicht wäre es eine bessere Methode, eine benutzerdefinierte Bereinigungsmethode zu erstellen, die Ihre Formulardaten durchlaufen, bevor Sie sie validieren? –

Antwort

0

Angenommen, Sie möchten alle Validierung innerhalb der Request class behalten, können Sie die Hygiene über die Regeln selbst setzen; Sie können den oberen Teil auch in eine Methode abstrahieren, um Ihren Code sauberer zu halten.

$string = Request::get('filename'); 
$pattern = '/[ü]/'; 
$replacement = 'ue'; 
$newFileName = preg_replace($pattern, $replacement, $string); 
Request::merge(array('filename' => $newFileName)); 

public static $rules = [ 
    'email' => 'required|max:30', 
    'filename' => 'required|max:30' 
    ];