2017-07-14 58 views
1

驗證在控制器Laravel驗證規則「相同」總是失敗

$this->validate($req, [ 
    'password' => ['required', 'string', 'min: 6', 'same: conf_password'], 
    'conf_password' => ['required', 'string', 'min: 6', 'same: password'], 
]); 

查看

<input id="password" type="password" class="form-control" name="password" 
    placeholder="Enter password" value="{{ old('password') }}"> 

<input id="conf_password" type="password" class="form-control" 
    name="conf_password" placeholder="Enter password once again" 
    value="{{ old('conf_password') }}"> 

它總是返回false,也甚至當我把它改成confirmed規則與它_confirmation後綴規格。

但我做了dd($req->password == $req->conf_password),它返回true。發生了什麼?

+2

你試過在''後面去掉空格嗎? – cweiske

+0

@cweiske謝謝你,你救了我的命。我只搜索了3個小時的空間。 –

+0

爲什麼不使用'確認'https://laravel.com/docs/5.4/validation#rule-confirmed? –

回答

2

刪除:之後的空格。

+0

爲什麼'same'規則有嚴格的格式,當regex,min和其他規則不是時。我的天啊。 –

+2

打開laravel的錯誤。 – cweiske

+2

完成,謝謝https://github.com/laravel/framework/issues/20064 –