Laravel框架表单验证详解
基础验证例子
$validator = Validator::make(
array('name' => 'Dayle'),
array('name' => 'required|min:5')
);
传递给 make 函数的第一个参数是待验证的数据,第二个参数是对该数据需要应用的验证规则。
多个验证规则可以通过 "|" 字符进行隔开,或者作为数组的一个单独的元素。
通过数组指定验证规则
$validator = Validator::make(
array('name' => 'Dayle'),
array('name' => array('required', 'min:5'))
);
一旦一个 Validator 实例被创建,可以使用 fails (或者 passes)函数执行这个验证。
if ($validator->fails())
{
// The given data did not pass validation
}
如果验证失败,您可以从验证器中获取错误消息。
$messages = $validator->messages();
您也可以使用 failed 函数得到不带错误消息的没有通过验证的规则的数组。
$failed = $validator->failed();
文件验证
Validator 类提供了一些验证规则用于验证文件,比如 size、mimes等。在验证文件的时候,您可以和其他验证一样传递给验证器。
附带错误消息
在一个 Validator 实例上调用 messages 函数之后,将会得到一个 MessageBag 实例,该实例拥有很多处理错误消息的方便的函数。
获取一个域的第一个错误消息
echo $messages->first('email');
获取一个域的全部错误消息
foreach ($messages->get('email') as $message)
{
//
}
获取全部域的全部错误消息
foreach ($messages->all() as $message)
{
//
}
检查一个域是否存在消息
if ($messages->has('email'))
{
//
}
以某种格式获取一条错误消息
echo $messages->first('email', '<p>:message</p>');
注意: 默认情况下,消息将使用与 Bootstrap 兼容的语法进行格式化。
以某种格式获取所有错误消息
foreach ($messages->all('<li>:message</li>') as $message)
{
//
}
错误消息 & 视图
一旦您执行了验证,您需要一种简单的方法向视图反馈错误消息。这在 Lavavel 中能够方便的处理。以下面的路由作为例子: