我使用壯觀的Laravel框架,但我有一個驗證問題,我無法以任何方式解決試圖驗證單個電子郵件字段。Laravel 3驗證單個輸入表單
我的表單輸入是:
{{ 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'對象。 – 2013-05-09 00:56:12
驗證錯誤是需要電子郵件,這意味着我的問題和驗證不通過規則,但我不明白爲什麼會發生這種情況? – 2013-05-09 08:01:34