3
---自定義驗證類(應用程序/庫/ validator.php)---Laravel自定義驗證
class Validator extends Laravel\Validator {
public function validate_passwdU($attribute, $value, $parameters){
$r_uppercase = '/[A-Z]/'; //Uppercase
$default_min = 1;
if(is_numeric($parameters[0])>=$default_min){
$default_min = $parameters[0];
}
return (preg_match_all($r_uppercase,$value, $matches)>=$default_min);
}
}
---應用程序/語言/ EN/validation.php ---
"passwdU" => "The :attribute must be at least :size uppercase characters."
--- ---控制器
$rules = array(
'passwd' => 'required|min:8|passwdU:2'
);
$validation = Validator::make($input, $rules);
if ($validation->fails())
{
return Redirect::to('URL')->with_errors($validation);
}
--- ---輸入
的passwd = 11111111
--- ---查看
<pre>
<?php print_r($errors); ?>
</pre>
--- ---輸出
Laravel\Messages Object
(
[messages] => Array
(
[passwd] => Array
(
[0] => validation.passwdU
)
)
[format] => :message
)
爲什麼我沒有獲取我在語言文件中定義的消息?
作爲它的消息對象發送回你嘗試'print_r($ errors-> get('passwd'))' –
@DavidBarker,\t Arr ay ( [0] => validation.passwdU ) –
我發現這個問題,在我定義的語言「passwdU」=>「......」中,當文件被加載時,密鑰被轉換爲小寫「passwdu」=>「...」。 –