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”=>“...”。 –