2016-03-30 9 views
0

入力フィールドにü、äまたはöがあるかどうかを確認する正規表現を作成したいとします。Laravel/Php正規表現

入力フィールドの文字がüの場合はueに切り替えたいとします。

は、これまでのところ、私はこの持っている:

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

をしかし、私はさらに上に行く方法がわかりません。

+0

新しい検証関数を作成してここで使用してください。 – itzmukeshy7

+2

おそらく、これを行うより良い方法は、検証する前にフォームデータが渡されるカスタムのsanitizeメソッドを作成することでしょうか? –

答えて

0

Request class内のすべての検証を続けると仮定すると、衛生管理をルール自体の上に置くことができます。コードをよりきれいに保つために、トップ部分をメソッドに抽象化することもできます。

$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' 
    ];