【发布时间】:2013-05-02 12:03:08
【问题描述】:
我正在使用壮观的 Laravel 框架,但我有一个验证问题,我无法以任何方式尝试验证单个电子邮件字段。
我的表单输入是:
{{ Form::email('email', Input::old('email'), array('id' => 'email', 'class' => 'span4', 'placeholder' => Lang::line('newsletter.email')->get($lang), 'novalidate' => 'novalidate')) }}
我的控制器
public function post_newsletter() {
$email = Input::get('email');
$v = Newsletter::validator($email, Newsletter::$rules);
if($v !== true)
{ ... }
else
{ ... }
}
还有我的模特
class Newsletter extends Eloquent {
/**
* Newsletter validation rules
*/
public static $rules = array(
'email' => 'required|email|unique:newsletters'
);
/**
* Input validation
*/
public static function validator($attributes, $rules) {
$v = Validator::make($attributes, $rules);
return $v->fails() ? $v : true;
}
}
我已经用非常复杂的表格成功完成了很多次,但是现在即使我输入了有效的电子邮件,我也会收到一条关于所需字段等的错误消息我错过了什么吗?也许是我尝试仅验证一个字段的事实?我真的不明白为什么会这样。
【问题讨论】:
-
您是否尝试过调试它以查看它到底在哪里失败了?是在不该通过的时候通过,还是在不该通过的时候失败了?运行验证后尝试转储
Validator对象。 -
验证错误是需要电子邮件,这意味着我的问题和验证没有通过规则,但我不明白为什么会这样?
标签: php validation laravel laravel-3