Laravel - 错误消息未转换为实际错误消息,以"验证"开头.

Cra*_*der 8 php validation localization laravel laravel-4

我有问题试图在Laravel中进行表单验证,这很奇怪,因为它通常只是起作用.

在我的用户模型中,我创建了验证规则:

public static $rules = array(
    'firstname'=>'required|min:2|alpha',
    'lastname'=>'required|min:2|alpha',
    'email'=>'required|email|unique:users',
    'password'=>'required|alpha_num|between:8,12|confirmed',
    'password_confirmation'=>'required|alpha_num|between:8,12',
    'telephone'=>'required|between:10,12',
    'admin'=>'integer'
);
Run Code Online (Sandbox Code Playgroud)

在我的用户控制器中,我仅在验证通过时定义操作,否则用户被重定向回错误:

public function postCreate() {
    $validator = Validator::make(Input::all(), User::$rules);

    if ($validator->passes()) {
        $user = new User;
        $user->firstname = Input::get('firstname');
        $user->lastname = Input::get('lastname');
        $user->email = Input::get('email');
        $user->password = Hash::make(Input::get('password'));
        $user->telephone = Input::get('telephone');
        $user->save();

        return Redirect::to('users/signin')
            ->with('message', 'Thank you for creating a new account. Please sign in.');
    }

    return Redirect::to('users/create-account')
        ->with('message', 'Something went wrong')
        ->withErrors($validator)
        ->withInput();
}
Run Code Online (Sandbox Code Playgroud)

发生以下错误:

在视图中,如果存在错误,则显示错误:

@if($errors->has())
    <div id="form-errors">
    <p>The following errors have occurred:</p>

    <ul>
        @foreach($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
    </div><!-- end form-errors -->
@endif
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是提交空表单时的输出是:

validation.required
validation.required
validation.required
validation.required
validation.required
validation.required
Run Code Online (Sandbox Code Playgroud)

代替:

The firstname field is required.
The lastname field is required.
The email field is required.
The password field is required.
The password confirmation field is required.
The telephone field is required.
Run Code Online (Sandbox Code Playgroud)

如果有人能说明为什么会发生这种情况或者我错过了什么,那么我将不胜感激!

All*_*iru 8

如果在此之前它已经为您工作,您应该检查您app\lang\en\validation.php是否已经更改了应用程序的区域设置或者没有为其定义消息.有很多种可能性.


Sor*_*adu 5

我有一个类似的问题,对我来说,问题是我不小心删除了resources / lang / en / validation.php