0

在我的应用程序中有一个订阅时事通讯的小表格。该表单只有一个字段:电子邮件。

我希望当条目不是正确的电子邮件格式时,而不是抛出 laravel 错误:给定 [fghfghfhf] 邮箱中的地址不符合 RFC 2822、3.6.2。

我想更优雅地给出一个验证错误。

我该如何定义这个规则?

谢谢!

编辑:

这是我的 NewsletterUser 模型:

class NewsletterUser extends Eloquent {

protected $table = 'newsletterusers';

protected $guarded = array();

public static $rules = array(

    'email' => 'required | email | unique:newsletterusers'

    );

 public static $messages = array(
        'email' => 'You already subscribed',
        'empty' => 'Insert the mail, please'
       );

}

这是Controller中的订阅方法:

 public function subscription()
{
    $input = Input::all();

    $validation = Validator::make($input, NewsletterUser::$rules, NewsletterUser::$messages);

    if($validation->passes())
    {
       // subscription stuff
    }

    return Redirect::back()->withInput()->withErrors($validation)->with('message','Insert the mail, please');
}
4

1 回答 1

0

只需定义一个自定义错误消息

$messages = array(
    'email' => 'Address in mailbox given :attribute does not comply with RFC 2822, 3.6.2.',
);

$validator = Validator::make($input, $rules, $messages);
于 2013-09-02T13:33:21.427 回答